To avoid having to assign a failure code to the returned variable switch this function to negative logic. This will fix issue with invalid number of cpus returning success return code. https://bugzilla.redhat.com/show_bug.cgi?id=996466 --- tools/virsh-domain.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index 4081451..3b2513b 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -5965,7 +5965,7 @@ cmdSetvcpus(vshControl *ctl, const vshCmd *cmd) { virDomainPtr dom; int count = 0; - bool ret = true; + bool ret = false; bool maximum = vshCommandOptBool(cmd, "maximum"); bool config = vshCommandOptBool(cmd, "config"); bool live = vshCommandOptBool(cmd, "live"); @@ -5996,9 +5996,8 @@ cmdSetvcpus(vshControl *ctl, const vshCmd *cmd) } if (flags == -1) { - if (virDomainSetVcpus(dom, count) != 0) { - ret = false; - } + if (virDomainSetVcpus(dom, count) != 0) + goto cleanup; } else { /* If the --maximum flag was given, we need to ensure only the --config flag is in effect as well */ @@ -6015,18 +6014,18 @@ cmdSetvcpus(vshControl *ctl, const vshCmd *cmd) /* Warn the user about the invalid flag combination */ vshError(ctl, _("--maximum must be used with --config only")); - ret = false; goto cleanup; } } /* Apply the virtual cpu changes */ - if (virDomainSetVcpusFlags(dom, count, flags) < 0) { - ret = false; - } + if (virDomainSetVcpusFlags(dom, count, flags) < 0) + goto cleanup; } - cleanup: + ret = true; + +cleanup: virDomainFree(dom); return ret; } -- 1.8.3.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list