mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
Fix leak of JSON object for events
The event handler functions do not free the virJSONValuePtr object. Every event received from a VM thus caused a memory leak * src/qemu/qemu_monitor_json.c: Fix leak of event object
This commit is contained in:
parent
09a882bd4d
commit
5ab8746f69
@ -122,7 +122,6 @@ qemuMonitorJSONIOProcessLine(qemuMonitorPtr mon,
|
||||
|
||||
if (virJSONValueObjectHasKey(obj, "QMP") == 1) {
|
||||
ret = 0;
|
||||
virJSONValueFree(obj);
|
||||
} else if (virJSONValueObjectHasKey(obj, "event") == 1) {
|
||||
ret = qemuMonitorJSONIOProcessEvent(mon, obj);
|
||||
} else if (virJSONValueObjectHasKey(obj, "error") == 1 ||
|
||||
@ -130,6 +129,7 @@ qemuMonitorJSONIOProcessLine(qemuMonitorPtr mon,
|
||||
if (msg) {
|
||||
msg->rxObject = obj;
|
||||
msg->finished = 1;
|
||||
obj = NULL;
|
||||
ret = 0;
|
||||
} else {
|
||||
qemuReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
@ -141,8 +141,7 @@ qemuMonitorJSONIOProcessLine(qemuMonitorPtr mon,
|
||||
}
|
||||
|
||||
cleanup:
|
||||
if (ret < 0)
|
||||
virJSONValueFree(obj);
|
||||
virJSONValueFree(obj);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user