summary refs log tree commit diff stats
path: root/chardev/char-serial.c
diff options
context:
space:
mode:
authorVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>2025-09-16 16:14:01 +0300
committerDaniel P. Berrangé <berrange@redhat.com>2025-09-19 12:46:07 +0100
commit30b123acbb89bff8ce7e46f9eef8ad01c2f173c6 (patch)
tree002ec703349f4e70706981f6d42155376807718f /chardev/char-serial.c
parent69620c091d62f3a7016469c83b9064258524891d (diff)
downloadfocaccia-qemu-30b123acbb89bff8ce7e46f9eef8ad01c2f173c6.tar.gz
focaccia-qemu-30b123acbb89bff8ce7e46f9eef8ad01c2f173c6.zip
chardev: close an fd on failure path
There are at least two failure paths, where we forget
to close an fd.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Diffstat (limited to 'chardev/char-serial.c')
-rw-r--r--chardev/char-serial.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/chardev/char-serial.c b/chardev/char-serial.c
index c622d758db..4c6ca713eb 100644
--- a/chardev/char-serial.c
+++ b/chardev/char-serial.c
@@ -272,6 +272,7 @@ static void qmp_chardev_open_serial(Chardev *chr,
         return;
     }
     if (!qemu_set_blocking(fd, false, errp)) {
+        close(fd);
         return;
     }
     tty_serial_init(fd, 115200, 'N', 8, 1);