]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
chardev: close an fd on failure path
authorVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Tue, 16 Sep 2025 13:14:01 +0000 (16:14 +0300)
committerDaniel P. Berrangé <berrange@redhat.com>
Fri, 19 Sep 2025 11:46:07 +0000 (12:46 +0100)
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>
chardev/char-pty.c
chardev/char-serial.c

index fe6bfb043d50eddd88e77780c5fb36cc2eb42b69..b066f01412697874faa091b1b0d7d79130697b67 100644 (file)
@@ -350,6 +350,7 @@ static void char_pty_open(Chardev *chr,
 
     close(slave_fd);
     if (!qemu_set_blocking(master_fd, false, errp)) {
+        close(master_fd);
         return;
     }
 
index c622d758dbc4883e5f7468837c57ac99048da1f7..4c6ca713eb1abd1b242e6dec2ce5154c8e795e75 100644 (file)
@@ -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);