From nobody Sun May 5 18:28:27 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1490611609348397.7628830342194; Mon, 27 Mar 2017 03:46:49 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id EBA8C3D967; Mon, 27 Mar 2017 10:46:47 +0000 (UTC) Received: from colo-mx.corp.redhat.com (unknown [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C0CD95C886; Mon, 27 Mar 2017 10:46:47 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id D07165EC62; Mon, 27 Mar 2017 10:46:46 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v2RAkjRK006371 for ; Mon, 27 Mar 2017 06:46:45 -0400 Received: by smtp.corp.redhat.com (Postfix) id D1DC918357; Mon, 27 Mar 2017 10:46:45 +0000 (UTC) Received: from caroline.brq.redhat.com (dhcp129-198.brq.redhat.com [10.34.129.198]) by smtp.corp.redhat.com (Postfix) with ESMTP id 312C38F7EB; Mon, 27 Mar 2017 10:46:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com EBA8C3D967 Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=libvir-list-bounces@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com EBA8C3D967 From: Martin Kletzander To: libvir-list@redhat.com Date: Mon, 27 Mar 2017 12:46:40 +0200 Message-Id: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Cc: pkrempa@redhat.com Subject: [libvirt] [PATCH] Fix build with GCC's static analysis X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Mon, 27 Mar 2017 10:46:48 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" STREQ_NULLABLE returns true if both parameters are NULL. And that's not what we want here. We just want to skop comparing source nodes that don't have that info set. The function wouldn't make much sense with nodeName =3D=3D NULL, so we don't need to check that. Moreover, the function's declaration uses ATTRIBUDE_NONNULL for nodeName, which not only means that function expects the parameter not to be NULL, but actually tells the compiler that it can optimize out the NULL checks. That way it could end up calling strcmp on NULL (either nodeformat or nodebacking). GCC figures this out if libvirt is compiled with lv_cv_static_analysis=3Dyes, unfortunately not everyone uses that. Signed-off-by: Martin Kletzander --- src/util/virstoragefile.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c index 3bcb69bf6206..0ac707962102 100644 --- a/src/util/virstoragefile.c +++ b/src/util/virstoragefile.c @@ -3809,8 +3809,8 @@ virStorageSourceFindByNodeName(virStorageSourcePtr to= p, *index =3D 0; for (tmp =3D top; tmp; tmp =3D tmp->backingStore) { - if (STREQ_NULLABLE(tmp->nodeformat, nodeName) || - STREQ_NULLABLE(tmp->nodebacking, nodeName)) + if ((tmp->nodeformat && STREQ(tmp->nodeformat, nodeName)) || + (tmp->nodebacking && STREQ(tmp->nodebacking, nodeName))) return tmp; if (index) --=20 2.12.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list