[PATCH] Cygwin: fhandler_termios::tcsetpgrp: check that argument is non-negative

Corinna Vinschen corinna-cygwin@cygwin.com
Wed Jul 24 16:20:00 GMT 2019


On Jul 24 15:34, Ken Brown wrote:
> Return -1 with EINVAL if pgid < 0.  This fixes the gdb problem
> reported here:

Why does it fix the issue?

>   https://cygwin.com/ml/cygwin/2019-07/msg00166.html
> ---
>  winsup/cygwin/fhandler_termios.cc | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/winsup/cygwin/fhandler_termios.cc b/winsup/cygwin/fhandler_termios.cc
> index 4ce53433a..5b0ba5603 100644
> --- a/winsup/cygwin/fhandler_termios.cc
> +++ b/winsup/cygwin/fhandler_termios.cc
> @@ -69,6 +69,11 @@ fhandler_termios::tcsetpgrp (const pid_t pgid)
>        set_errno (EPERM);
>        return -1;
>      }
> +  else if (pgid < 0)
> +    {
> +      set_errno (EINVAL);
> +      return -1;
> +    }
>    int res;
>    while (1)
>      {
> -- 
> 2.21.0

Looks good with GDB 8.2.1.  A bit of description why this fixes the
problem and it's GTG.

Unfortunately it doesn't fix what I'm seeing under GDB 8.1.1, but I'm
more and more convinced this is GDB's fault.


Thanks,
Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20190724/932d9337/attachment.sig>


More information about the Cygwin-patches mailing list