On 2013年01月22日 02:07, Peter Krempa wrote:
buffer won't be NULL in any case when reaching the check and the first block of the if statement was lacking parentheses --- tools/virsh-snapshot.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/tools/virsh-snapshot.c b/tools/virsh-snapshot.c index e4745d6..f76c40e 100644 --- a/tools/virsh-snapshot.c +++ b/tools/virsh-snapshot.c @@ -204,26 +204,17 @@ cmdSnapshotCreate(vshControl *ctl, const vshCmd *cmd) if (vshCommandOptBool(cmd, "live")) flags |= VIR_DOMAIN_SNAPSHOT_CREATE_LIVE; - dom = vshCommandOptDomain(ctl, cmd, NULL); - if (dom == NULL) + if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) goto cleanup; - if (vshCommandOptString(cmd, "xmlfile",&from)<= 0) + if (vshCommandOptString(cmd, "xmlfile",&from)<= 0) { buffer = vshStrdup(ctl, "<domainsnapshot/>"); - else { + } else { if (virFileReadAll(from, VSH_MAX_XML_FILE,&buffer)< 0) { - /* we have to report the error here because during cleanup - * we'll run through virDomainFree(), which loses the - * last error - */ - vshReportError(ctl); + vshSaveLibvirtError(); goto cleanup; } } - if (buffer == NULL) { - vshError(ctl, "%s", _("Out of memory")); - goto cleanup; - } ret = vshSnapshotCreate(ctl, dom, buffer, flags, from);
ACK. -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list