On Tue, Oct 14, 2025 at 6:51 PM Vladimir Sementsov-Ogievskiy
<[email protected]> wrote:
>
> 'in' will be -1 when file->in is unset. Let's not try to close
> invalid fd.
>
> Reported-by: Peter Maydell <[email protected]>
> Coverity: CID 1630444
> Fixes: 69620c091d62f "chardev: qemu_chr_open_fd(): add errp"
> Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]>

Reviewed-by: Marc-André Lureau <[email protected]>

> ---
>
> I was going to send it inside v3 of "chardev: postpone connect", but it
> seems the discussion may continue there, so, decided to send this small
> fix in separate.
>
>  chardev/char-file.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/chardev/char-file.c b/chardev/char-file.c
> index 89e9cb849c..1f7adf592f 100644
> --- a/chardev/char-file.c
> +++ b/chardev/char-file.c
> @@ -94,7 +94,9 @@ static void qmp_chardev_open_file(Chardev *chr,
>
>      if (!qemu_chr_open_fd(chr, in, out, errp)) {
>          qemu_close(out);
> -        qemu_close(in);
> +        if (in >= 0) {
> +            qemu_close(in);
> +        }
>          return;
>      }
>  #endif
> --
> 2.48.1
>
>


-- 
Marc-André Lureau

Reply via email to