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

Jon Turney jon.turney@dronecode.org.uk
Thu Jul 25 12:15:00 GMT 2019


On 24/07/2019 16:34, Ken Brown wrote:
> Return -1 with EINVAL if pgid < 0.  This fixes the gdb problem
> reported here:
> 
>    https://cygwin.com/ml/cygwin/2019-07/msg00166.html

Thanks.

> ---
>   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)
>       {
> 

I guess there's some additional validation missing somewhere (that pgid 
is a valid process group id, which -1 can never be), but I think this is 
more than adequate for the moment.



More information about the Cygwin-patches mailing list