* 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(a)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