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

Eric Blake eblake at redhat.com
Tue May 3 17:01:58 UTC 2011


On 05/03/2011 10:47 AM, Daniel P. Berrange wrote:
> On Tue, May 03, 2011 at 09:46:15AM -0600, Eric Blake wrote:
>> This code has had problems historically.  As originally
>> written, in commit 6bcf2501 (Jun 08), it could call unlink
>> on a random string, nuking an unrelated file.
>>
>> Then commit 182a80b9 (Sep 09), the code was rewritten to
>> allocate tmp, with both a use-after-free bug and a chance to
>> call unlink(NULL).
>>
>> Commit e206946 (Mar 11) fixed the use-after-free, but not the
>> NULL dereference.  Thanks to clang for catching this!
>>
>> * src/qemu/qemu_driver.c (qemudDomainMemoryPeek): Don't call
>> unlink on NULL.

>>  cleanup:
>>      VIR_FORCE_CLOSE(fd);
>> -    unlink (tmp);
>> +    if (tmp)
>> +        unlink (tmp);
> 
> Could loose the extra space there after function name too

[The editor in me pauses for an English lesson: s/loose/lose/.
Admittedly, English is stupid, but if you remember that 'loose' always
rhymes with 'goose', then you know when to 'use' 'lose'.]

Done

> 
>>      VIR_FREE(tmp);
>>      if (vm)
>>          virDomainObjUnlock(vm);
> 
> ACK

and pushed.

-- 
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/e2347538/attachment-0001.sig>


More information about the libvir-list mailing list