diff options
Diffstat (limited to 'chardev/char-pipe.c')
-rw-r--r-- | chardev/char-pipe.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/chardev/char-pipe.c b/chardev/char-pipe.c index 3d1b0ce..e9f3bb8 100644 --- a/chardev/char-pipe.c +++ b/chardev/char-pipe.c @@ -150,7 +150,14 @@ static void qemu_chr_open_pipe(Chardev *chr, return; } } - qemu_chr_open_fd(chr, fd_in, fd_out); + + if (!qemu_chr_open_fd(chr, fd_in, fd_out, errp)) { + close(fd_in); + if (fd_out != fd_in) { + close(fd_out); + } + return; + } } #endif /* !_WIN32 */ |