提交 1af75828 编写于 作者: J Jim Meyering

qemuMonitorTextAttachDrive: avoid two leaks

* src/qemu/qemu_monitor_text.c (qemuMonitorTextAttachDrive): Most other
failures in this function would "goto cleanup", but one mistakenly
returned directly, skipping the cleanup and resulting in a leak.
In addition, iterating the "try_command" loop would clobber, and
thus leak, the "cmd" allocated on the first iteration,
so be careful to free it in addition to "reply" beforehand.
上级 731c7386
...@@ -1881,13 +1881,13 @@ try_command: ...@@ -1881,13 +1881,13 @@ try_command:
if (qemudParseDriveAddReply(reply, driveAddr) < 0) { if (qemudParseDriveAddReply(reply, driveAddr) < 0) {
if (!tryOldSyntax && strstr(reply, "invalid char in expression")) { if (!tryOldSyntax && strstr(reply, "invalid char in expression")) {
VIR_FREE(reply); VIR_FREE(reply);
VIR_FREE(cmd);
tryOldSyntax = 1; tryOldSyntax = 1;
goto try_command; goto try_command;
} }
qemudReportError (NULL, NULL, NULL, VIR_ERR_OPERATION_FAILED, qemudReportError (NULL, NULL, NULL, VIR_ERR_OPERATION_FAILED,
_("adding %s disk failed: %s"), drivestr, reply); _("adding %s disk failed: %s"), drivestr, reply);
VIR_FREE(reply); goto cleanup;
return -1;
} }
ret = 0; ret = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册