mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-20 06:50:22 +03:00
qemu: hotplug: Fix possible memory leak of props
If we failed to build the aliases or attach the chardev, then the props would be leaked - fix that. Signed-off-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
parent
3e81b98ceb
commit
573cfd188c
@ -1650,6 +1650,7 @@ qemuDomainAttachRNGDevice(virQEMUDriverPtr driver,
|
||||
|
||||
if (qemuMonitorAddObject(priv->mon, type, objAlias, props) < 0)
|
||||
goto failbackend;
|
||||
props = NULL;
|
||||
|
||||
if (qemuMonitorAddDevice(priv->mon, devstr) < 0)
|
||||
goto failfrontend;
|
||||
@ -1667,6 +1668,7 @@ qemuDomainAttachRNGDevice(virQEMUDriverPtr driver,
|
||||
audit:
|
||||
virDomainAuditRNG(vm, NULL, rng, "attach", ret == 0);
|
||||
cleanup:
|
||||
virJSONValueFree(props);
|
||||
if (ret < 0 && vm)
|
||||
qemuDomainReleaseDeviceAddress(vm, &rng->info, NULL);
|
||||
VIR_FREE(charAlias);
|
||||
@ -1680,6 +1682,7 @@ qemuDomainAttachRNGDevice(virQEMUDriverPtr driver,
|
||||
failbackend:
|
||||
if (rng->backend == VIR_DOMAIN_RNG_BACKEND_EGD)
|
||||
ignore_value(qemuMonitorDetachCharDev(priv->mon, charAlias));
|
||||
props = NULL; /* qemuMonitorAddObject consumes on failure */
|
||||
failchardev:
|
||||
if (qemuDomainObjExitMonitor(driver, vm) < 0) {
|
||||
vm = NULL;
|
||||
|
Loading…
x
Reference in New Issue
Block a user