mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-23 13:05:27 +00:00
qemu_monitor_json: Properly check GetArray return value
Commit 2a8d40f4ec refactored qemuMonitorJSONGetCPUx86Data and replaced virJSONValueObjectGet(reply, "return") with virJSONValueObjectGetArray. While the former is guaranteed to always return non-NULL pointer the latter may return NULL if the returned JSON object is not an array. Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
This commit is contained in:
parent
ee6ec7824d
commit
598b6d7999
@ -6554,7 +6554,7 @@ qemuMonitorJSONParseCPUx86Features(virJSONValuePtr data,
|
||||
ssize_t n;
|
||||
int ret = -1;
|
||||
|
||||
if ((n = virJSONValueArraySize(data)) < 0) {
|
||||
if (!data || (n = virJSONValueArraySize(data)) < 0) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("invalid array of CPUID features"));
|
||||
return -1;
|
||||
@ -6644,9 +6644,8 @@ qemuMonitorJSONCheckCPUx86(qemuMonitorPtr mon)
|
||||
if (qemuMonitorJSONCheckError(cmd, reply))
|
||||
goto cleanup;
|
||||
|
||||
data = virJSONValueObjectGetArray(reply, "return");
|
||||
|
||||
if ((n = virJSONValueArraySize(data)) < 0) {
|
||||
if (!(data = virJSONValueObjectGetArray(reply, "return")) ||
|
||||
(n = virJSONValueArraySize(data)) < 0) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("qom-list reply data was not an array"));
|
||||
goto cleanup;
|
||||
|
Loading…
x
Reference in New Issue
Block a user