[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH for-3.2 09/13] slirp: fix slirp_add_exec() leaks
From: |
Marc-André Lureau |
Subject: |
[Qemu-devel] [PATCH for-3.2 09/13] slirp: fix slirp_add_exec() leaks |
Date: |
Sat, 10 Nov 2018 17:45:44 +0400 |
Free the list elements allocated in add_exec().
Signed-off-by: Marc-André Lureau <address@hidden>
---
slirp/misc.h | 2 +-
slirp/slirp.c | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/slirp/misc.h b/slirp/misc.h
index 94829722cd..0bc5e74bc5 100644
--- a/slirp/misc.h
+++ b/slirp/misc.h
@@ -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;
};
diff --git a/slirp/slirp.c b/slirp/slirp.c
index d6623a2bbf..29fe4702cc 100644
--- a/slirp/slirp.c
+++ b/slirp/slirp.c
@@ -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);
--
2.19.1.708.g4ede3d42df
- [Qemu-devel] [PATCH for-3.2 06/13] slirp: rename /extra/chardev, (continued)
- [Qemu-devel] [PATCH for-3.2 06/13] slirp: rename /extra/chardev, Marc-André Lureau, 2018/11/10
- [Qemu-devel] [PATCH for-3.2 05/13] slirp: remove unused EMU_RSH, Marc-André Lureau, 2018/11/10
- [Qemu-devel] [PATCH for-3.2 08/13] slirp: remove Monitor dependency, return a string for info, Marc-André Lureau, 2018/11/10
- [Qemu-devel] [PATCH for-3.2 04/13] slirp: use a dedicated field for chardev pointer, Marc-André Lureau, 2018/11/10
- [Qemu-devel] [PATCH for-3.2 09/13] slirp: fix slirp_add_exec() leaks,
Marc-André Lureau <=
- [Qemu-devel] [PATCH for-3.2 10/13] slirp: improve subprocess socket creation, Marc-André Lureau, 2018/11/10
- [Qemu-devel] [PATCH for-3.2 11/13] slirp: replace the poor-man string split with g_strsplit(), Marc-André Lureau, 2018/11/10
- [Qemu-devel] [PATCH for-3.2 12/13] glib-compat: add g_spawn_async_with_fds() fallback, Marc-André Lureau, 2018/11/10
- [Qemu-devel] [PATCH for-3.2 13/13] slirp: simplify fork_exec(), Marc-André Lureau, 2018/11/10