]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: Avoid NULL dereference in virDomainNetPortForwardFree
authorJiri Denemark <jdenemar@redhat.com>
Wed, 11 Jan 2023 08:25:58 +0000 (09:25 +0100)
committerJiri Denemark <jdenemar@redhat.com>
Wed, 11 Jan 2023 08:25:58 +0000 (09:25 +0100)
In our current code the function is not called with NULL argument, but
we should follow our common practice and make it safe anyway.

Reported by coverity:

    /src/conf/domain_conf.c: 2635 in virDomainNetPortForwardFree()
    2629     {
    2630         size_t i;
    2631
    2632         if (pf)
    2633             g_free(pf->dev);
    2634
    >>>     CID 404359:  Null pointer dereferences  (FORWARD_NULL)
    >>>     Dereferencing null pointer "pf".
    2635         for (i = 0; i < pf->nRanges; i++)
    2636             g_free(pf->ranges[i]);
    2637
    2638         g_free(pf->ranges);
    2639         g_free(pf);
    2640     }

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
src/conf/domain_conf.c

index 598e23b005f3a6fcf9bc68596d3ae3c691ccc5a7..e43dee1a6085688a285c0c2e95d128ff2f91d8a4 100644 (file)
@@ -2629,8 +2629,10 @@ virDomainNetPortForwardFree(virDomainNetPortForward *pf)
 {
     size_t i;
 
-    if (pf)
-        g_free(pf->dev);
+    if (!pf)
+        return;
+
+    g_free(pf->dev);
 
     for (i = 0; i < pf->nRanges; i++)
         g_free(pf->ranges[i]);