提交 522656be 编写于 作者: P Peter Krempa 提交者: Ján Tomko

virsh-domain: Fix memleak in cmdUndefine with storage

When undefining a domain with storage when the volume isn't managed by
libvirt the name and path strings weren't freed properly.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=996050
(cherry picked from commit 5075248a)
上级 b9bc69ba
......@@ -3048,6 +3048,8 @@ cmdUndefine(vshControl *ctl, const vshCmd *cmd)
for (i = 0; i < nvolumes; i++) {
ctxt->node = vol_nodes[i];
VIR_FREE(source);
VIR_FREE(target);
/* get volume source and target paths */
if (!(target = virXPathString("string(./target/@dev)", ctxt)))
......@@ -3090,6 +3092,8 @@ cmdUndefine(vshControl *ctl, const vshCmd *cmd)
}
vlist[nvols].source = source;
vlist[nvols].target = target;
source = NULL;
target = NULL;
nvols++;
}
......@@ -3189,6 +3193,8 @@ out:
}
cleanup:
VIR_FREE(source);
VIR_FREE(target);
for (i = 0; i < nvols; i++) {
VIR_FREE(vlist[i].source);
VIR_FREE(vlist[i].target);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册