mirror of https://gitee.com/openkylin/libvirt.git
locking: Resolve mem leak in virLockDaemonPreExecRestart
Initialize and free @magic since virJSONValueObjectAppendString does not free it for us eventually. Signed-off-by: John Ferlan <jferlan@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com> Signed-off-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
232687f6ce
commit
6f0418173b
|
@ -700,7 +700,7 @@ virLockDaemonPreExecRestart(const char *state_file,
|
|||
virJSONValuePtr child;
|
||||
char *state = NULL;
|
||||
virJSONValuePtr object = virJSONValueNewObject();
|
||||
char *magic;
|
||||
char *magic = NULL;
|
||||
virHashKeyValuePairPtr pairs = NULL, tmp;
|
||||
virJSONValuePtr lockspaces;
|
||||
|
||||
|
@ -748,10 +748,8 @@ virLockDaemonPreExecRestart(const char *state_file,
|
|||
if (!(magic = virLockDaemonGetExecRestartMagic()))
|
||||
goto cleanup;
|
||||
|
||||
if (virJSONValueObjectAppendString(object, "magic", magic) < 0) {
|
||||
VIR_FREE(magic);
|
||||
if (virJSONValueObjectAppendString(object, "magic", magic) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (!(state = virJSONValueToString(object, true)))
|
||||
goto cleanup;
|
||||
|
@ -775,6 +773,7 @@ virLockDaemonPreExecRestart(const char *state_file,
|
|||
abort(); /* This should be impossible to reach */
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(magic);
|
||||
VIR_FREE(pairs);
|
||||
VIR_FREE(state);
|
||||
virJSONValueFree(object);
|
||||
|
|
Loading…
Reference in New Issue