diff mbox

[PULL,16/16] monitor: fix qmp_getfd() fd leak in error case

Message ID 1398450587-24758-17-git-send-email-lcapitulino@redhat.com
State New
Headers show

Commit Message

Luiz Capitulino April 25, 2014, 6:29 p.m. UTC
From: Stefan Hajnoczi <stefanha@redhat.com>

qemu_chr_fe_get_msgfd() transfers ownership of the file descriptor to
the caller.  Therefore all code paths in qmp_getfd() should either
register the file descriptor somewhere or close it.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
---
 monitor.c | 1 +
 1 file changed, 1 insertion(+)
diff mbox

Patch

diff --git a/monitor.c b/monitor.c
index 9ad8578..1266ba0 100644
--- a/monitor.c
+++ b/monitor.c
@@ -2228,6 +2228,7 @@  void qmp_getfd(const char *fdname, Error **errp)
     }
 
     if (qemu_isdigit(fdname[0])) {
+        close(fd);
         error_set(errp, QERR_INVALID_PARAMETER_VALUE, "fdname",
                   "a name not starting with a digit");
         return;