error:could not take a screenshot of xp ==6216== Syscall param unlink(pathname) points to unaddressable byte(s) ==6216== at 0x373A0D4937: unlink (syscall-template.S:82) ==6216== by 0x40FD73: cmdScreenshot (virsh.c:3070) ==6216== by 0x42BA0D: vshCommandRun (virsh.c:14920) ==6216== by 0x42EC97: main (virsh.c:16379) ==6216== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==6216== error:Requested operation is not valid: domain is not running --- tools/virsh.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/virsh.c b/tools/virsh.c index 1909dce..89d355f 100644 --- a/tools/virsh.c +++ b/tools/virsh.c @@ -3004,7 +3004,7 @@ cmdScreenshot(vshControl *ctl, const vshCmd *cmd) unsigned int screen = 0; unsigned int flags = 0; /* currently unused */ int ret = false; - bool created = true; + bool created = false; bool generated = false; char *mime = NULL; @@ -3039,13 +3039,13 @@ cmdScreenshot(vshControl *ctl, const vshCmd *cmd) } if ((fd = open(file, O_WRONLY|O_CREAT|O_EXCL, 0666)) < 0) { - created = false; if (errno != EEXIST || (fd = open(file, O_WRONLY|O_TRUNC, 0666)) < 0) { vshError(ctl, _("cannot create file %s"), file); goto cleanup; } - } + } else + created = true; if (virStreamRecvAll(st, vshStreamSink, &fd) < 0) { vshError(ctl, _("could not receive data from domain %s"), name); -- 1.7.6.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list