提交 891b3c11 编写于 作者: M Michal Privoznik

qemuBuildHostNetStr: Don't leak buffer

If there was an error when constructing the buffer, NULL is
returned. The buffer is never freed though.
Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
上级 ff5c5a9b
......@@ -3805,13 +3805,13 @@ qemuBuildHostNetStr(virDomainNetDefPtr net,
virDomainNetType netType = virDomainNetGetActualType(net);
virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
size_t i;
char *ret = NULL;
if (net->script && netType != VIR_DOMAIN_NET_TYPE_ETHERNET) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("scripts are not supported on interfaces of type %s"),
virDomainNetTypeToString(netType));
virObjectUnref(cfg);
return NULL;
goto cleanup;
}
switch (netType) {
......@@ -3919,13 +3919,16 @@ qemuBuildHostNetStr(virDomainNetDefPtr net,
virBufferAsprintf(&buf, "sndbuf=%lu,", net->tune.sndbuf);
}
virObjectUnref(cfg);
virBufferTrim(&buf, ",", -1);
if (virBufferCheckError(&buf) < 0)
return NULL;
goto cleanup;
return virBufferContentAndReset(&buf);
ret = virBufferContentAndReset(&buf);
cleanup:
virBufferFreeAndReset(&buf);
virObjectUnref(cfg);
return ret;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册