mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-08 22:15:21 +00:00
qemu_agent: Resolve Coverity RESOURCE_LEAK
Coverity found that on error paths, the 'arg' value wasn't be cleaned up. Followed the example in qemuAgentSetVCPUs() where upon successful call to qemuAgentCommand() the 'cpus' is set to NULL; otherwise, when cleanup occurs the free the memory for 'arg'
This commit is contained in:
parent
461fb55599
commit
6f8a4f6d65
@ -1328,7 +1328,7 @@ int qemuAgentFSFreeze(qemuAgentPtr mon, const char **mountpoints,
|
||||
unsigned int nmountpoints)
|
||||
{
|
||||
int ret = -1;
|
||||
virJSONValuePtr cmd, arg;
|
||||
virJSONValuePtr cmd, arg = NULL;
|
||||
virJSONValuePtr reply = NULL;
|
||||
|
||||
if (mountpoints && nmountpoints) {
|
||||
@ -1343,7 +1343,8 @@ int qemuAgentFSFreeze(qemuAgentPtr mon, const char **mountpoints,
|
||||
}
|
||||
|
||||
if (!cmd)
|
||||
return -1;
|
||||
goto cleanup;
|
||||
arg = NULL;
|
||||
|
||||
if (qemuAgentCommand(mon, cmd, &reply, true,
|
||||
VIR_DOMAIN_QEMU_AGENT_COMMAND_BLOCK) < 0)
|
||||
@ -1355,6 +1356,7 @@ int qemuAgentFSFreeze(qemuAgentPtr mon, const char **mountpoints,
|
||||
}
|
||||
|
||||
cleanup:
|
||||
virJSONValueFree(arg);
|
||||
virJSONValueFree(cmd);
|
||||
virJSONValueFree(reply);
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user