[libvirt] [PATCH] virsh: fix invalid free

* tools/virsh.c (cmdDetachDisk): fix invalid free due to using uninitialised value. * How to reproduce? # virsh detach-disk a b error: failed to get domain 'a' *** glibc detected *** virsh: double free or corruption (out): 0x00007fff410ed1a0 *** ======= Backtrace: ========= /lib64/libc.so.6[0x39cf0750c6] /usr/lib/libvirt.so.0(virFree+0x39)[0x7f045938a239] virsh[0x41c768] virsh[0x415075] virsh[0x425d64] /lib64/libc.so.6(__libc_start_main+0xfd)[0x39cf01ecdd] virsh[0x40a419] ======= Memory map: ======== 00400000-0044e000 r-xp 00000000 08:0e 760441 /usr/bin/virsh 0064e000-00650000 rw-p 0004e000 08:0e 760441 /usr/bin/virsh ...... 39d7229000-39d722b000 r--p 00029000 08:0e 2183477 /lib64/libk5crypto.so.3.1 39d722b000-39d722c000 rw-p 0002b000 08:0e 2183477 /lib64/lAborted (core dumped) Signed-off-by: Alex Jia <ajia@redhat.com> --- tools/virsh.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/tools/virsh.c b/tools/virsh.c index 630b77f..d45a4c9 100644 --- a/tools/virsh.c +++ b/tools/virsh.c @@ -14826,7 +14826,7 @@ cmdDetachDisk(vshControl *ctl, const vshCmd *cmd) char *disk_xml = NULL; virDomainPtr dom = NULL; const char *target = NULL; - char *doc; + char *doc = NULL; int ret; bool functionReturn = false; unsigned int flags; -- 1.7.1

On 03/15/2012 02:06 PM, Alex Jia wrote:
* tools/virsh.c (cmdDetachDisk): fix invalid free due to using uninitialised value.
* How to reproduce? # virsh detach-disk a b error: failed to get domain 'a' *** glibc detected *** virsh: double free or corruption (out): 0x00007fff410ed1a0 ***
Good catch, ACK.

Thanks and pushed now. ----- Original Message ----- From: "Osier Yang" <jyang@redhat.com> To: "Alex Jia" <ajia@redhat.com> Cc: libvir-list@redhat.com Sent: Thursday, March 15, 2012 3:16:48 PM Subject: Re: [libvirt] [PATCH] virsh: fix invalid free On 03/15/2012 02:06 PM, Alex Jia wrote:
* tools/virsh.c (cmdDetachDisk): fix invalid free due to using uninitialised value.
* How to reproduce? # virsh detach-disk a b error: failed to get domain 'a' *** glibc detected *** virsh: double free or corruption (out): 0x00007fff410ed1a0 ***
Good catch, ACK.
participants (2)
-
Alex Jia
-
Osier Yang