From 636a30a890c50f734c90ee929e16492fbc6c73e3 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Sun, 15 Mar 2015 10:16:28 +0100 Subject: [PATCH] vl: fix resource leak with monitor_fdset_add_fd monitor_fdset_add_fd returns an AddfdInfo struct (used by the QMP command add_fd). Free it. Signed-off-by: Paolo Bonzini Reviewed-by: Fam Zheng Reviewed-by: Markus Armbruster Signed-off-by: Michael Tokarev --- vl.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/vl.c b/vl.c index 694deb4c1f..69617d640a 100644 --- a/vl.c +++ b/vl.c @@ -1012,6 +1012,7 @@ static int parse_add_fd(QemuOpts *opts, void *opaque) int fd, dupfd, flags; int64_t fdset_id; const char *fd_opaque = NULL; + AddfdInfo *fdinfo; fd = qemu_opt_get_number(opts, "fd", -1); fdset_id = qemu_opt_get_number(opts, "set", -1); @@ -1061,8 +1062,9 @@ static int parse_add_fd(QemuOpts *opts, void *opaque) } /* add the duplicate fd, and optionally the opaque string, to the fd set */ - monitor_fdset_add_fd(dupfd, true, fdset_id, fd_opaque ? true : false, - fd_opaque, NULL); + fdinfo = monitor_fdset_add_fd(dupfd, true, fdset_id, !!fd_opaque, fd_opaque, + &error_abort); + g_free(fdinfo); return 0; }