From: John Ferlan Date: Thu, 13 Aug 2015 13:19:01 +0000 (-0400) Subject: qemu: Add check for invalid iothread_id in qemuDomainChgIOThread X-Git-Tag: v1.2.18.1~41 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3ed4dba49da4a124a1501bb3f6d74459d566ce5f;p=thirdparty%2Flibvirt.git qemu: Add check for invalid iothread_id in qemuDomainChgIOThread https://bugzilla.redhat.com/show_bug.cgi?id=1251886 Since iothread_id == 0 is an invalid value for QEMU let's point that out specifically. For the IOThreadDel code, the failure would have ended up being a failure to find the IOThread ID; however, for the IOThreadAdd code - an IOThread 0 was added and that isn't good. It seems during many reviews/edits to the code the check for iothread_id = 0 being invalid was lost - it could have originally been in the API code, but requested to be moved - I cannot remember. (cherry picked from commit 32c6b1908bbf8a1aa4a2692135e7d02a166a0317) --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 469fcaebd2..d6c04f3f69 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -6136,6 +6136,12 @@ qemuDomainChgIOThread(virQEMUDriverPtr driver, virDomainDefPtr persistentDef; int ret = -1; + if (iothread_id == 0) { + virReportError(VIR_ERR_INVALID_ARG, "%s", + _("invalid value of 0 for iothread_id")); + return -1; + } + cfg = virQEMUDriverGetConfig(driver); priv = vm->privateData;