-
由 Eric Blake 提交于
Detected by valgrind, via Alex Jia. Caused by imcomplete copy-and-paste from vshWatchJob in commit 3b96a892. * tools/virsh.c (cmdBlockPull): fix uninitialized memory usage. * How to reproduce? $ qemu-img create /var/lib/libvirt/images/test 1M $ cat > /tmp/test.xml <<EOF <domain type='qemu'> <name>test</name> <memory>219200</memory> <vcpu>1</vcpu> <os> <type arch='x86_64'>hvm</type> <boot dev='hd'/> </os> <devices> <disk type='file' device='disk'> <driver name='qemu' type='raw'/> <source file='/var/lib/libvirt/images/test'/> <target dev='vda' bus='virtio'/> </disk> <input type='mouse' bus='ps2'/> <graphics type='spice' autoport='yes' listen='0.0.0.0'/> </devices> </domain> EOF $ virsh define /tmp/test.xml $ valgrind -v virsh blockpull test /var/lib/libvirt/images/test --wait actual result: ==10906== 1 errors in context 1 of 1: ==10906== Syscall param rt_sigaction(act->sa_flags) points to uninitialised byte(s) ==10906== at 0x39CF80F5BE: __libc_sigaction (sigaction.c:67) ==10906== by 0x43016C: cmdBlockPull (virsh.c:7638) ==10906== by 0x4150D4: vshCommandRun (virsh.c:18574) ==10906== by 0x425E73: main (virsh.c:20178) ==10906== Address 0x7fefffae8 is on thread 1's stack
2aed9a97