提交 c27f2478 编写于 作者: M Marc-André Lureau 提交者: Samuel Thibault

slirp: fix slirp_add_exec() leaks

Free the list elements allocated in add_exec().
Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: NSamuel Thibault <samuel.thibault@ens-lyon.org>
上级 b7f43bf2
......@@ -12,7 +12,7 @@ struct ex_list {
void *ex_chardev;
struct in_addr ex_addr; /* Server address */
int ex_fport; /* Port to telnet to */
const char *ex_exec; /* Command line of what to exec */
char *ex_exec; /* Command line of what to exec */
struct ex_list *ex_next;
};
......
......@@ -342,6 +342,14 @@ Slirp *slirp_init(int restricted, bool in_enabled, struct in_addr vnetwork,
void slirp_cleanup(Slirp *slirp)
{
struct ex_list *e, *next;
for (e = slirp->exec_list; e; e = next) {
next = e->ex_next;
g_free(e->ex_exec);
g_free(e);
}
QTAILQ_REMOVE(&slirp_instances, slirp, entry);
unregister_savevm(NULL, "slirp", slirp);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册