[libvirt] [PATCH] tests: avoid null pointer dereference

Eric Blake eblake at redhat.com
Tue May 3 16:50:48 UTC 2011


On 05/03/2011 10:42 AM, Daniel P. Berrange wrote:
> On Tue, May 03, 2011 at 10:38:00AM -0600, Eric Blake wrote:
>> Unlikely to hit in real life, but clang noticed it.
>>
>> * tests/commandtest.c (test4): Avoid unlink(NULL) on OOM.
>> ---
>>
>>  cleanup:
>>      virCommandFree(cmd);
>> -    unlink(pidfile);
>> +    if (pidfile)
>> +        unlink(pidfile);
>>      VIR_FREE(pidfile);
>>      return ret;
>>  }
> 
> ACK

Actually, clang found a couple more in the same file.  Here's what I
finally pushed:

diff --git c/tests/commandtest.c w/tests/commandtest.c
index fa0061c..caad698 100644
--- c/tests/commandtest.c
+++ w/tests/commandtest.c
@@ -78,7 +78,8 @@ static int checkoutput(const char *testname)
     ret = 0;

 cleanup:
-    unlink(actualname);
+    if (actualname)
+        unlink(actualname);
     VIR_FREE(actuallog);
     VIR_FREE(actualname);
     VIR_FREE(expectlog);
@@ -240,7 +241,8 @@ static int test4(const void *unused ATTRIBUTE_UNUSED)

 cleanup:
     virCommandFree(cmd);
-    unlink(pidfile);
+    if (pidfile)
+        unlink(pidfile);
     VIR_FREE(pidfile);
     return ret;
 }
@@ -703,7 +705,8 @@ static int test18(const void *unused ATTRIBUTE_UNUSED)

 cleanup:
     virCommandFree(cmd);
-    unlink(pidfile);
+    if (pidfile)
+        unlink(pidfile);
     VIR_FREE(pidfile);
     return ret;
 }


-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20110503/ea9e963c/attachment-0001.sig>


More information about the libvir-list mailing list