From nobody Mon Feb 2 07:31:49 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; Authentication-Results: mx.zohomail.com; dkim=fail; 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=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1769443726; cv=none; d=zohomail.com; s=zohoarc; b=dDwsBEsVaFKMDUSC67t8uIN0axd5dD0TYlMip+vrpDEYPHWToDk4Pg7TYOaND0hHIDpHnxoDrffBen+GuGzeOnH3TouLie67ZrZafc9XEnbrijyb48xNQL84CgpmIlnlsexEhP6sYUziopniKRVktqRWZ0oBllUvQZXVbj88jvo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769443726; 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:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=u35z2YXwdOFY2da0teA+cB53M5Q0G03lFTcCuReCgjY=; b=bQa2R4cSeYeCXUsqj+Gkk5D2n6fYuceSPHFX52pXF0G0VkMpZJaREGm7VNjrCtSna05X/SG1IGsFHIuLJmDnkcxckEmcLQybttYc7Mij8wiKXIIKk0qIrfUIzDGaiRdGOCNxItD3dB7rnofrV4hGI+eLyvUid8c0jBzbPvmsy2Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1769443726769795.225172161; Mon, 26 Jan 2026 08:08:46 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id CE0E041B97; Mon, 26 Jan 2026 11:08:45 -0500 (EST) Received: from [172.19.199.3] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 6C0CC43DCA; Mon, 26 Jan 2026 11:07:07 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id 8942241950; Mon, 26 Jan 2026 11:07:00 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (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 113524194C for ; Mon, 26 Jan 2026 11:07:00 -0500 (EST) Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-639-2akpRkoNNVWi7-Dj0CAVdQ-1; Mon, 26 Jan 2026 11:06:58 -0500 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 4A7C619775D6 for ; Mon, 26 Jan 2026 16:06:57 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 90BFB18001D5 for ; Mon, 26 Jan 2026 16:06:56 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,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=redhat.com; s=mimecast20190719; t=1769443619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=u35z2YXwdOFY2da0teA+cB53M5Q0G03lFTcCuReCgjY=; b=eOV6FUrmuW/zCaVpcw0cpPNao/n3mTeE2j/YerxQ634piNSQA82Gj/SbbzJTVDbjZc94+Y 957plVVdX9sJ/XmUppbM7nqI9SwA3TAhuzgKO/PJt4OmDrozKdFSCpUXAOjaf79X7aqZyM zoCIrFOJ33igkkinNhEagj+0+D9q044= X-MC-Unique: 2akpRkoNNVWi7-Dj0CAVdQ-1 X-Mimecast-MFC-AGG-ID: 2akpRkoNNVWi7-Dj0CAVdQ_1769443617 To: devel@lists.libvirt.org Subject: [PATCH v2 1/5] qemuSnapshotDiskHasBackingDisk: Avoid call of virStorageSourceIsSameLocation with NULL argument Date: Mon, 26 Jan 2026 17:06:49 +0100 Message-ID: <641838b5d03750d50397dc4cc7239bf81ace9253.1769443445.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: chn4hP01LddjiZKK6myQ0mUGWeAC0AIQjIFzLcFiyuc_1769443617 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 3R67CEM3PORJ6ECYETQROCT625XWJ5DH X-Message-ID-Hash: 3R67CEM3PORJ6ECYETQROCT625XWJ5DH X-MailFrom: pkrempa@redhat.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: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1769443728334158500 Content-Type: text/plain; charset="utf-8" From: Peter Krempa When the 'backingStore' pointer is not populated the function calls 'virStorageSourceGetMetadata' to try to populate it but if the on-disk metadata doesn't have a backing image (e.g. if it's the 'base' image of the chain) the 'backingStore' or the metadata fetcher fails the pointer will still be NULL. The function then calls 'virStorageSourceIsSameLocation' but the internal functions for dealing with storage sources don't handle NULL gracefully. Since the code calling 'qemu-img' based on the data detected here doesn't actually raise errors if the operations fail there's no point in raising errors here either. Closes: https://gitlab.com/libvirt/libvirt/-/issues/844 Signed-off-by: Peter Krempa --- src/qemu/qemu_snapshot.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c index e738afffc3..8f58df3b45 100644 --- a/src/qemu/qemu_snapshot.c +++ b/src/qemu/qemu_snapshot.c @@ -3147,7 +3147,8 @@ qemuSnapshotDiskHasBackingDisk(void *payload, if (!disk->src->backingStore) ignore_value(virStorageSourceGetMetadata(disk->src, uid, gid, = 1, false)); - if (virStorageSourceIsSameLocation(disk->src->backingStore, iterda= ta->diskSrc)) { + if (disk->src->backingStore && + virStorageSourceIsSameLocation(disk->src->backingStore, iterda= ta->diskSrc)) { struct _qemuSnapshotDisksWithBackingStoreData *data =3D g_new0(struct _qemuSnapshotDisksWithBackingStoreData, 1); --=20 2.52.0