From nobody Thu Jan 8 12:12:59 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1767619924; cv=none; d=zohomail.com; s=zohoarc; b=CpBKRnnLFKDqe51b+WB5NVUB9jlAyteZBOE5OjnU6+svrTgAe3swyh63s3LMj7S5yyRtYyPWtvFClYLDynMKIyPmtSG0G48HTaLd2Uzs1K8YGrbUNCmHo8MBzFyDKXnOWVIwtwhyFDJ8zI96mX13Z6BeX+n1N/Nkm1SNxUKxqPA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1767619924; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=ZS0wGn/RKvfsIa5CvW9OkzSGSpDyiPdyVREBPuwrZH0=; b=AUeXwQkjWNKGdEigMmxEvaup00uN3EuSUG7KrQPur+BM5UwcS4+bQ4LOUBsULuk3/ek29Z0M8RkNRKw60d2a9j71aKAQYlcYtnPyVF/vxi178DkfDFQJL6VMdXW7s6XLAhQrwv8IP1HiKB36vHMIhLrzoqXSnkAOemYi2UrLMI4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1767619924445163.54410773281177; Mon, 5 Jan 2026 05:32:04 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id DDBCD418BC; Mon, 5 Jan 2026 08:32:02 -0500 (EST) Received: from [172.19.199.83] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id D863541AB2; Mon, 5 Jan 2026 08:30:14 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id 23E0F418B2; Mon, 5 Jan 2026 08:29:56 -0500 (EST) Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id A1CE7418F0 for ; Mon, 5 Jan 2026 08:29:55 -0500 (EST) Received: by mail-pf1-f180.google.com with SMTP id d2e1a72fcca58-7aae5f2633dso14649073b3a.3 for ; Mon, 05 Jan 2026 05:29:55 -0800 (PST) Received: from fedora ([2804:14c:3b83:91fd::9d2a]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-121724de25dsm130836510c88.7.2026.01.05.05.29.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jan 2026 05:29:53 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.3 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767619794; x=1768224594; darn=lists.libvirt.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=ZS0wGn/RKvfsIa5CvW9OkzSGSpDyiPdyVREBPuwrZH0=; b=P3rJeCVyDSNqVMb8KXxsNmud22deTb+09DO2Ze05N3Q49kbswcMOTjPEcOavcnrbSh YbuusZJFkONm40OlwMOYINF2P6sPq9o1Fucr0g+H8oCLQ5yXp4Cj6s71GXGWplqJAQH8 uEbQZOWdLB0i9de0Rx9xa1G3lTGxgMBPHvWrbwjGwnavLTef3J8pkgbAgIdOOdZdKOLI H5oW/lNZtCWSci4fhh3/UMn7vtKc9Uv7k3hf+PW/XfUGpbZIN6dq5KyezpDf4VmKMMtS d1RCmtr+lVx1skKGwBp00mF9fFXX9cLgjettvLPQjDGGku6yfHfjIji9fV1UF3XgLkMp hTVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767619794; x=1768224594; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ZS0wGn/RKvfsIa5CvW9OkzSGSpDyiPdyVREBPuwrZH0=; b=sWiGXJ7UqrTuVrQXaW+r6wE4gaA5KCywAV4kS+Dsri1YeO5pw/J29CpQY4T1R5A3J0 rUPcqXuT22f4zeJ8octOnPLzTBNxY5BUqBZIV+ZZjd54QEZr/vYp3BtupBpQ8RTOYyky fWmSap4RFjTe/IpbTi1Imew9CqDpgcg6E2GTtA5al93AQE6w/bbGOs6c36v/ie/yPJX/ EKXsSsFwS5sgM1DDKGjCJdGbzf9X/B0vwB0tqncppYzJzZFe7FaWDVy1eMxr3c19puuP WmqF5x+wXc6GTjoCQFXfnTFH3PKzFbgVfxgFL18CDjuS4vVQkO7yTA6P42HwxxlULwb1 f0Kg== X-Gm-Message-State: AOJu0Yxiggot70Y1Ekol9YyWnkAN5KkI5hwPHuLdTZS8Y0pEFzTQW2PW +YdiLQSnTemGdusiF1/ClI5au2atvlfqQLrz0rHpx2S3P0Izh+eLNsOGaHgq7g== X-Gm-Gg: AY/fxX5AJyEHWYPuYOs4gkan0y9HqGlalKQfJYTvbbq1USM2X5fMAfC134us4AI+GIM nXgxklovj9v4ZLWrhVNvonXC/REEcatD4OdPnzzvF0MTVFWh1AdRQScGyB+W9OSwB32iY46cr1F hLcwPHMmW6U+bqQQzo/YGg8MPfQRAyxmIjsPHdFHngiiDzVglq5ZTNecs/vevazByEIjm7tarZn cgg6YKtJUT7H2IUqk4v0S3bCTdM8G2x2eua7MQ/+/ZnpoXVTh1/E2nNQT/sY5UB+r2pHUA5sYCB pcCkm28Ush5hgstNAdiQSvZnja6IWa3Lj6CEu3musg9BVdxb/AHY5xoMt6PUag4ynUPFeZGx3wm FvYCdIIgVtsYDRrBmrO/3ZTf/o4oH+m9eqcVoUEY+ug8LNJdKbkV9dFjo662izH6O X-Google-Smtp-Source: AGHT+IGS4bLuB1o80EF+zmkltfX9Gr6nM2RsxK8ws+zB88KBSO+oO2jLLT6TGYggA2w7J/J4LO4cGg== X-Received: by 2002:a05:7022:6709:b0:11a:29e5:12e5 with SMTP id a92af1059eb24-121722ebc26mr49178408c88.30.1767619794114; Mon, 05 Jan 2026 05:29:54 -0800 (PST) From: Julio Faracco To: devel@lists.libvirt.org Subject: [PATCH 1/3] util: Fix uninitialized variable in virSocketAddrFormatWithPrefix Date: Mon, 5 Jan 2026 10:28:01 -0300 Message-ID: <20260105132904.25578-2-jcfaracco@gmail.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260105132904.25578-1-jcfaracco@gmail.com> References: <20260105132904.25578-1-jcfaracco@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: DOEV6UQRZCP7EICANAXW5QDZY26R4T3V X-Message-ID-Hash: DOEV6UQRZCP7EICANAXW5QDZY26R4T3V X-MailFrom: jcfaracco@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1767619926693154100 Content-Type: text/plain; charset="utf-8" The virSocketAddrFormatWithPrefix() function has a bug where the 'network' variable is left uninitialized when masked=3Dfalse. This occurs because the function only assigns to 'network' inside the masked=3Dtrue conditional branch. When masked=3Dfalse, the caller wants to format the original address with a prefix notation (e.g., "1.2.3.4/24") without applying the network mask. However, the code was only initializing 'network' when masking was requested, causing the subsequent virSocketAddrFormat(&network) call to operate on uninitialized data. Fix this by adding an else branch that copies the original address to 'network' when masking is not requested. This ensures 'network' is properly initialized in both code paths. Signed-off-by: Julio Faracco --- src/util/virsocketaddr.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/util/virsocketaddr.c b/src/util/virsocketaddr.c index f53768878e..80ee3b4c51 100644 --- a/src/util/virsocketaddr.c +++ b/src/util/virsocketaddr.c @@ -549,10 +549,14 @@ virSocketAddrFormatWithPrefix(virSocketAddr *addr, return NULL; } =20 - if (masked && virSocketAddrMaskByPrefix(addr, prefix, &network) < 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("Failure to mask address")); - return NULL; + if (masked) { + if (virSocketAddrMaskByPrefix(addr, prefix, &network) < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("Failure to mask address")); + return NULL; + } + } else { + network =3D *addr; } =20 netstr =3D virSocketAddrFormat(&network); --=20 2.52.0 From nobody Thu Jan 8 12:12:59 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1767620004; cv=none; d=zohomail.com; s=zohoarc; b=XqaoZqv4uT5GgLRe0C4y63V4tiidTqmcylllbDZMqHVm3aO/rHv0Xzk3fP1R5q+VhEZbsvQNI4JqfY1U+86TlK4bTYECmwRxhw1Jby0YZF1EcfE3stqm5dFTysYC35Hg/VLG1AcZ+Y/whHKEzd0NKTH7I9Iypjz0b+bG9heHxVE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1767620004; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=Q+bS67NCW0YQ8Gn7mj5iv7+F7/3IYmYSCl3Ky7O7TWs=; b=jtmdFR7zzdUrroSp7Udu2hKe3GaVBXz7s++UQHGmuJmduFoXgR4xnBQsKriz/x1cqPTMZQn+4hRQKqWc5UEFllJcZAiWQ9lkHvaVelJQ0IXu8kIl9SDhOiqQ/J1gRgfXcRbfBQIA+pWcMg52zyFbXd4R2Rk0wyNSgonlnWV2OWc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1767620004671823.4115742983223; Mon, 5 Jan 2026 05:33:24 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id 109BE4195E; Mon, 5 Jan 2026 08:33:23 -0500 (EST) Received: from [172.19.199.83] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 1AC96418BD; Mon, 5 Jan 2026 08:30:21 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id ACA79418B2; Mon, 5 Jan 2026 08:29:57 -0500 (EST) Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 074C7418BC for ; Mon, 5 Jan 2026 08:29:57 -0500 (EST) Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-29f0f875bc5so209447095ad.3 for ; Mon, 05 Jan 2026 05:29:56 -0800 (PST) Received: from fedora ([2804:14c:3b83:91fd::9d2a]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-121724de25dsm130836510c88.7.2026.01.05.05.29.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jan 2026 05:29:55 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.3 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767619796; x=1768224596; darn=lists.libvirt.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=Q+bS67NCW0YQ8Gn7mj5iv7+F7/3IYmYSCl3Ky7O7TWs=; b=KJCH29XZfRQvVY1jolP/F11wsEIxNzLuuqqR2XYUCC33n85qJZ1FhbBy1w1CSMNM/c Ih4x5LXqE6b96+hoOAfcUpklbzfXaS3MBmgWdQV37oIXfeR5KmI8+sgFriX14gJYFR7l 5jmzjLTIa3+RNathB3d19CGHAp0zNgzruY1wNA0qKF2nNLL4dfDejZW2LpV5X5kC81gR uz8Ny03y26eYvCvvaASUWAzkjBn8CBAjCGZybuvkqBCFwLKd6Mlee1XrkOXLyv6xkkzE xWx0em9kXsoDg0KUk0srrPYAnpsbwHsNCHrcHkj97icmSCi3Y4qOqyisaO3l++dI2xsq W+Tw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767619796; x=1768224596; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Q+bS67NCW0YQ8Gn7mj5iv7+F7/3IYmYSCl3Ky7O7TWs=; b=jVq786k02N2M6AL5rb7oeLGpEwq8rxCPbB0OLOOt/Asv6gkAl2QbhXtgH9Eata/7j+ zbcRZKDEZVLaqKMxekAfYFnBMRFWrAApN6hPQ0cvW3AVkSwM4s385raebg5VJIUaUaHB iia8oSJkgOTqTfG5MHyrhIThhfWwsTNf8YcHDF4hlSuDxiuTvtSozBAkWg5TJRO+2oGm D9EFlHffUe0p2XXhkwPfejVtwatbgSY+L9KsQjVKP+yHfEuMGJqT7ur7p8PrEB4LQZB5 4mZVfiEnRkZuXPy1l0UxcSq8HVP0K7JY7jQ+AOMxrZt0rUmhCIUSljuGgr3YS4mDDpY9 S2hw== X-Gm-Message-State: AOJu0YyVcVXyh1gEY6A5/FOQWKDBYE9Sob+V7vLZxHIoecraWwrJ2yQ4 heG8sDnpA6RLRM0TE292SEPjszWK5djbY2BQsAZjPEAJNoFs1+VpA88muA2MyQ== X-Gm-Gg: AY/fxX6C8AC44XYCcz2CwB22dA5wkO4xph8pM3PtziZmirj1Webm2eka8BJrdFRrDH4 rL/kabLIJsgCjroimGaD/RzpEmE05hbd9b62m7VwyqElV5ov2/Hp/MoauJOvsGdHfLip+ZaYRk9 4xSMdfDAV/tjCD18VlZNIkqP6kkQ2Z4ANRh1WcAolcAxI4E1BXf0y9huMyPgiGhgPHxGd6dHSws wXDAME/pisR/V1WlZc00iMNekL6ivw7ALiPx1mASC0IywK4Prguq1LfWRoYPAXYoM0xVsxNwQjN 5mPd/3rSz3kloc2LcF3iZA8k2AujqMfDq4EVgLgk7LNrKopHqf8lJkWu2TiPVAxbk+O7cUofw0v 6JCqNp/F11/6/mEl+tOflIGbN0Ty/Xtdms1FQUVHP/52uN/vQXGP/TzwzZm4WXRezuT8MFGfB5G A= X-Google-Smtp-Source: AGHT+IH9HJpnXMgt/t1aqkAGdAVSy/o3buP6RV7fZgnjE1Z4DQhC6nw3xDJGO/q8BLQoA0fWZr1jiQ== X-Received: by 2002:a05:7022:6291:b0:11d:e2a3:2070 with SMTP id a92af1059eb24-12172313eddmr34570668c88.44.1767619795604; Mon, 05 Jan 2026 05:29:55 -0800 (PST) From: Julio Faracco To: devel@lists.libvirt.org Subject: [PATCH 2/3] tests: Add tests for virSocketAddrFormatWithPrefix Date: Mon, 5 Jan 2026 10:28:02 -0300 Message-ID: <20260105132904.25578-3-jcfaracco@gmail.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260105132904.25578-1-jcfaracco@gmail.com> References: <20260105132904.25578-1-jcfaracco@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID-Hash: MZ5R4OZ4DRZ4G4I2CFCWJFB5RGZG3WT4 X-Message-ID-Hash: MZ5R4OZ4DRZ4G4I2CFCWJFB5RGZG3WT4 X-MailFrom: jcfaracco@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1767620007879154100 Add comprehensive test coverage for virSocketAddrFormatWithPrefix() to verify its behavior with both masked and unmasked address formatting. The tests cover: - IPv4 addresses with various prefix lengths (24, 16, 8) - IPv6 addresses with /64 prefixes - Both masked output (e.g., "1.2.3.4" =E2=86=92 "1.2.3.0/24") - And unmasked output (e.g., "1.2.3.4" =E2=86=92 "1.2.3.4/24") - Error handling for unsupported AF_UNIX family This test suite validates the fix from the previous commit and prevents regressions in address formatting logic. Signed-off-by: Julio Faracco --- tests/sockettest.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/tests/sockettest.c b/tests/sockettest.c index 5cb8a9fb72..df6ad62b6f 100644 --- a/tests/sockettest.c +++ b/tests/sockettest.c @@ -55,6 +55,22 @@ static int testFormat(virSocketAddr *addr, const char *a= ddrstr, bool pass) } } =20 +static int testFormatWithPrefix(virSocketAddr *addr, const char *addrstr, + unsigned int prefix, bool masked, bool pass) +{ + g_autofree char *newaddrstr =3D NULL; + + newaddrstr =3D virSocketAddrFormatWithPrefix(addr, prefix, masked); + if (!newaddrstr) + return pass ? -1 : 0; + + if (virTestCompareToString(newaddrstr, addrstr) < 0) { + return pass ? -1 : 0; + } else { + return pass ? 0 : -1; + } +} + struct testParseData { virSocketAddr *addr; const char *addrstr; @@ -78,6 +94,20 @@ static int testFormatHelper(const void *opaque) return testFormat(data->addr, data->addrstr, data->pass); } =20 +struct testFormatWithPrefixData { + virSocketAddr *addr; + const char *addrstr; + unsigned int prefix; + bool masked; + bool pass; +}; +static int testFormatWithPrefixHelper(const void *opaque) +{ + const struct testFormatWithPrefixData *data =3D opaque; + return testFormatWithPrefix(data->addr, data->addrstr, data->prefix, + data->masked, data->pass); +} + =20 static int testRange(const char *saddrstr, const char *eaddrstr, @@ -293,6 +323,32 @@ mymain(void) ret =3D -1; \ } while (0) =20 +#define DO_TEST_PARSE_AND_FORMAT_WITH_PREFIX(addrstr, family, prefix, mask= ed, pass) \ + do { \ + virSocketAddr addr =3D { 0 }; \ + struct testParseData data =3D { &addr, addrstr, family, pass }; \ + struct testFormatWithPrefixData data2 =3D { &addr, addrstr, prefix= , masked, pass }; \ + if (virTestRun("Test parse " addrstr " family " #family, \ + testParseHelper, &data) < 0) \ + ret =3D -1; \ + if (virTestRun("Test format " addrstr " family " #family " with pr= efix /" #prefix, \ + testFormatWithPrefixHelper, &data2) < 0) \ + ret =3D -1; \ + } while (0) + +#define DO_TEST_PARSE_AND_CHECK_FORMAT_WITH_PREFIX(addrstr, addrformated, = family, prefix, masked, pass) \ + do { \ + virSocketAddr addr =3D { 0 }; \ + struct testParseData data =3D { &addr, addrstr, family, pass }; \ + struct testFormatWithPrefixData data2 =3D { &addr, addrformated, p= refix, masked, pass }; \ + if (virTestRun("Test parse " addrstr " family " #family, \ + testParseHelper, &data) < 0) \ + ret =3D -1; \ + if (virTestRun("Test format " addrstr " family " #family " with pr= efix /" #prefix, \ + testFormatWithPrefixHelper, &data2) < 0) \ + ret =3D -1; \ + } while (0) + #define DO_TEST_RANGE(saddr, eaddr, netaddr, prefix, size, pass) \ do { \ struct testRangeData data \ @@ -376,6 +432,20 @@ mymain(void) DO_TEST_PARSE_AND_FORMAT("::fffe:0:0", AF_UNSPEC, true); DO_TEST_PARSE_AND_FORMAT("::ffff:10.1.2.3", AF_UNSPEC, true); =20 + DO_TEST_PARSE_AND_CHECK_FORMAT_WITH_PREFIX("1.2.3.4", "1.2.3.0/24", AF= _INET, 24, true, true); + DO_TEST_PARSE_AND_CHECK_FORMAT_WITH_PREFIX("1.2.3.4", "1.2.3.4/24", AF= _INET, 24, false, true); + DO_TEST_PARSE_AND_CHECK_FORMAT_WITH_PREFIX("10.1.1.12", "10.0.0.0/8", = AF_INET, 8, true, true); + DO_TEST_PARSE_AND_CHECK_FORMAT_WITH_PREFIX("10.1.1.12", "10.1.1.12/8",= AF_INET, 8, false, true); + DO_TEST_PARSE_AND_CHECK_FORMAT_WITH_PREFIX("192.168.1.124", "192.168.0= .0/16", AF_INET, 16, true, true); + DO_TEST_PARSE_AND_CHECK_FORMAT_WITH_PREFIX("192.168.1.124", "192.168.1= .124/16", AF_INET, 16, false, true); + DO_TEST_PARSE_AND_CHECK_FORMAT_WITH_PREFIX("2001:db8:dead:beef:1::", "= 2001:db8:dead:beef::/64", AF_INET6, 64, true, true); + DO_TEST_PARSE_AND_CHECK_FORMAT_WITH_PREFIX("2001:db8:dead:beef:1::", "= 2001:db8:dead:beef:1::/64", AF_INET6, 64, false, true); + + DO_TEST_PARSE_AND_FORMAT_WITH_PREFIX("1.2.3.4", AF_UNIX, 24, true, fal= se); + DO_TEST_PARSE_AND_FORMAT_WITH_PREFIX("1.2.3.4", AF_UNIX, 24, false, fa= lse); + DO_TEST_PARSE_AND_FORMAT_WITH_PREFIX("2001:db8:dead:beef:1::", AF_UNIX= , 64, true, false); + DO_TEST_PARSE_AND_FORMAT_WITH_PREFIX("2001:db8:dead:beef:1::", AF_UNIX= , 64, false, false); + /* tests that specify a network that should contain the range */ DO_TEST_RANGE("192.168.122.1", "192.168.122.1", "192.168.122.1", 24, 1= , true); DO_TEST_RANGE("192.168.122.1", "192.168.122.20", "192.168.122.22", 24,= 20, true); --=20 2.52.0 From nobody Thu Jan 8 12:12:59 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1767620048; cv=none; d=zohomail.com; s=zohoarc; b=jcoUzGTu4qyWJoVRzg9RtbC7iRMNeoAB7VmR6U8+3G6aREv2oPCmobtcXjKTsijj9hcon4qhL1YGEooUbdHlZbfAp3pxLcDSXW1hCiYssqIDuH257K6lQxIFzef17dbzoowqQDmb7kYTZPKvvXPgf3BzidYguetHVOV19j5Sle0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1767620048; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=OgVbQZ0AudCJqb0RkD8yTF7E7KTxGQYqgKNMnjBb220=; b=KywDpI40QgUncfGb388QIxOS1v8zNJGn6c6ZRRiXrGDYdSuRgVM7/+89lzpbLS2l99qsGQ9iWVyqRLFsHf/EyNhkKLFiGp3j/v2ioCxcNXRP3ppCbcjJLZHVKhxftB53yOeMZWfw5lLYzaCA9ol0fj1E837o5WLMriS/LLbyaHI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1767620048161945.3574759414263; Mon, 5 Jan 2026 05:34:08 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id 75617418FB; Mon, 5 Jan 2026 08:34:07 -0500 (EST) Received: from [172.19.199.83] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 54A7241B69; Mon, 5 Jan 2026 08:30:27 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id 14FFD418F4; Mon, 5 Jan 2026 08:29:59 -0500 (EST) Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 39BF7418BC for ; Mon, 5 Jan 2026 08:29:58 -0500 (EST) Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-29f1bc40b35so251633985ad.2 for ; Mon, 05 Jan 2026 05:29:58 -0800 (PST) Received: from fedora ([2804:14c:3b83:91fd::9d2a]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-121724de25dsm130836510c88.7.2026.01.05.05.29.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jan 2026 05:29:56 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.3 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767619797; x=1768224597; darn=lists.libvirt.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=OgVbQZ0AudCJqb0RkD8yTF7E7KTxGQYqgKNMnjBb220=; b=mzHfBqo2aBR8vyusnAqM6eJUgAC3JHAai3zSOkDlokKvy9bP2FN6Id/qfTEzT34BfQ 7gp2mt1rrnl/AeCUDGnKOjKVYeQxxc5o+m/J9Y75evbkZ42jfEy0Zkq8aezii4WB5YsL yMAfrfVX8KMY9jX6/LdyRcqDItpCOLNGE24RfbdtYLL2gOlw8NOc2nJHbCDXg763SRHe FBILsT3Ze2tuKdHLe2Sz7t4La8PkH30FeMkb7wP7GZk2yseEZKY7zeMOJY6jVN8+MQZX mTU+qVvosDr04ran1k4T7+jyN2bCoGYcQ23IT5nH+Uil26b6ww05VjvuMIdg2HOMRBVX HxGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767619797; x=1768224597; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=OgVbQZ0AudCJqb0RkD8yTF7E7KTxGQYqgKNMnjBb220=; b=HO+Ve9Eek+faxO7p9kis2FClKy0dXDLFD0kHj7f89N2Ur68NZ/yGsjNvA7L6ytU/of BLNyMAPNrmfklD9rv81XdUtH2xSnyFYH1cTaSvuhYUYY4l6n/FHRwdeKlz7xccGYkCp0 OPbcXeJJ+fjlBDRJVpJzLzwu12jRVQ2ybIluN1NOPOjegke3Wy6zkE8VhS/Hq5htJOoO 4XdGnPGBoUOQXXpS+PXyRACFfnpUuET1jHaJ7oBYUKvPY/nBBl8fCU7tL5PqdNPgqUbZ NqAv9ZTMNw6VslY7CqWAlg3Fo4ckpIKatRljfSg3q3kHwc9h+9rS1LuuutjpOJ7vYLzh KIZA== X-Gm-Message-State: AOJu0YycXS9FR4oYPQzu2c4HqL+9Jwai8kG8lNw/a2BubIodYeHwsfH7 7LwKeifkH+FQz0+2zIEMdzs2ABQLBXwRLXDdO4HrCe/UGd0N6O2ZXmgf56jggg== X-Gm-Gg: AY/fxX68VBN7/zxYIRr0eq4jyLJW0pVC/bYDnDN1lSmNC8SIxhMFm0Mqn/jIyQMa8d+ dI2vL6SkF7EnRU/ae/ZvxRqpfJ9bOnOLpSSmw0YYEnqLxXBa0AYsVKIyVM4l5+2gWgxT/2Emmbv NiToqkmfzBQ5KNx+3JxpmeOmsAExq32ztjJxBH8GgDpPAH71zK44tu8wS2Z+MqHmZqJpNspiA51 mnh5HVw/cG4ClkDGdMl1FtErUaZLL5O3ommUqRiV5/jArnkrk3JxSQB50NhZedChqTCZImbol1G U0c7uPz7jss+ovycWHyiyFYByGrT0Ipclt+fZX/B+7KndTKskZ0avXL3IyJJrUsQzpeKTTxI4Lu VlPBKdnQ7cMvXlS8ZW45RhWgLGYyGb8IPQ1tLMfkUBVWnOoL082KZVisEj4lEOWNr X-Google-Smtp-Source: AGHT+IEViDK0/gQkLA5UaSVrcSMYD/anCiI1NIKpLaOAhFGxh8dNY3FII63rem8/OkADbDQqpUEcow== X-Received: by 2002:a05:7022:20e:b0:11b:1c7e:27d0 with SMTP id a92af1059eb24-1217213da36mr57429487c88.0.1767619797013; Mon, 05 Jan 2026 05:29:57 -0800 (PST) From: Julio Faracco To: devel@lists.libvirt.org Subject: [PATCH 3/3] util: Standardize macro usage to check socket family Date: Mon, 5 Jan 2026 10:28:03 -0300 Message-ID: <20260105132904.25578-4-jcfaracco@gmail.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260105132904.25578-1-jcfaracco@gmail.com> References: <20260105132904.25578-1-jcfaracco@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: TTW37NLLTKECUTAZMUUT26RCCGNTKTT7 X-Message-ID-Hash: TTW37NLLTKECUTAZMUUT26RCCGNTKTT7 X-MailFrom: jcfaracco@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1767620049439154100 Content-Type: text/plain; charset="utf-8" Replace direct socket family comparison with the standard VIR_SOCKET_ADDR_IS_FAMILY() macro for consistency. The codebase uses VIR_SOCKET_ADDR_IS_FAMILY() as the standard way to check socket address families. This patch updates one remaining instance that was using direct field access (addr->data.sa.sa_family =3D=3D AF_UNIX) to use the macro instead. This improves code consistency and makes the code more maintainable by centralizing the family checking logic. Signed-off-by: Julio Faracco --- src/util/virsocketaddr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/util/virsocketaddr.c b/src/util/virsocketaddr.c index 80ee3b4c51..c5ac1b360a 100644 --- a/src/util/virsocketaddr.c +++ b/src/util/virsocketaddr.c @@ -479,7 +479,7 @@ virSocketAddrFormatFull(const virSocketAddr *addr, =20 /* Short-circuit since getnameinfo doesn't work * nicely for UNIX sockets */ - if (addr->data.sa.sa_family =3D=3D AF_UNIX) { + if (VIR_SOCKET_ADDR_IS_FAMILY(addr, AF_UNIX)) { if (withService) { addrstr =3D g_strdup_printf(VIR_LOOPBACK_IPV4_ADDR "%s0", separator ? separator : ":"); --=20 2.52.0