From: Peter Krempa Date: Wed, 22 Aug 2018 11:20:52 +0000 (+0200) Subject: qemu: monitor: Fix device matching in qemuMonitorJSONBlockIoThrottleInfo X-Git-Tag: v4.7.0-rc1~50 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2cad501bcb4eee0989a103997df9d541fe9e9a86;p=thirdparty%2Flibvirt.git qemu: monitor: Fix device matching in qemuMonitorJSONBlockIoThrottleInfo We should compare the alias/qdev id only when it was provided by the caller and when it was found in the reply. Otherwise we could dereference a NULL pointer. STRNEQ_NULLABLE is not appropriate since it would return 'true' if the string was not present in the JSON output. Found by Coverity. Signed-off-by: Peter Krempa Reviewed-by: John Ferlan --- diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 5cd38710e5..ddfa261743 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -5001,8 +5001,8 @@ qemuMonitorJSONBlockIoThrottleInfo(virJSONValuePtr io_throttle, goto cleanup; } - if ((drivealias && STRNEQ(current_drive, drivealias)) || - (qdevid && STRNEQ(current_qdev, qdevid))) + if ((drivealias && current_drive && STRNEQ(current_drive, drivealias)) || + (qdevid && current_qdev && STRNEQ(current_qdev, qdevid))) continue; found = true;