qemu_monitor_json: Report error in error paths in SEV related code

While working on qemuMonitorJSONGetSEVMeasurement() and
qemuMonitorJSONGetSEVInfo() I've noticed that if these functions
fail, they do so without appropriate error set. Fill in error
reporting.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Michal Privoznik 2024-06-11 10:44:24 +02:00
parent e6b94cba7e
commit 66efdfabd9

View File

@ -7961,8 +7961,11 @@ qemuMonitorJSONGetSEVMeasurement(qemuMonitor *mon)
if (!(data = qemuMonitorJSONGetReply(cmd, reply, VIR_JSON_TYPE_OBJECT)))
return NULL;
if (!(tmp = virJSONValueObjectGetString(data, "data")))
if (!(tmp = virJSONValueObjectGetString(data, "data"))) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("query-sev-launch-measure reply was missing 'data'"));
return NULL;
}
return g_strdup(tmp);
}
@ -8005,8 +8008,11 @@ qemuMonitorJSONGetSEVInfo(qemuMonitor *mon,
if (virJSONValueObjectGetNumberUint(data, "api-major", apiMajor) < 0 ||
virJSONValueObjectGetNumberUint(data, "api-minor", apiMinor) < 0 ||
virJSONValueObjectGetNumberUint(data, "build-id", buildID) < 0 ||
virJSONValueObjectGetNumberUint(data, "policy", policy) < 0)
virJSONValueObjectGetNumberUint(data, "policy", policy) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("query-sev reply was missing some data"));
return -1;
}
return 0;
}