On Wed, 9 Sep 2015 16:40:18 -0700 Bryce Harrington <[email protected]> wrote:
> On Wed, Sep 02, 2015 at 04:21:54PM -0500, Derek Foreman wrote: > > So it turns out if you cat /dev/urandom and drag select in the mess > > you can crash weston-terminal. There may also be more legitimate > > ways of doing this. > > > > The reason is that isalpha() and isdigit() only accept values that > > fit within an unsigned char or are EOF. > > > > By treating values < 0 the same as values > 127 we prevent this crash. > > > > Signed-off-by: Derek Foreman <[email protected]> > Reviewed-by: Bryce Harrington <[email protected]> > > > --- > > clients/terminal.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/clients/terminal.c b/clients/terminal.c > > index f1d8fc0..c5d5d60 100644 > > --- a/clients/terminal.c > > +++ b/clients/terminal.c > > @@ -2579,7 +2579,7 @@ static int wordsep(int ch) > > { > > const char extra[] = "-,./?%&#:_=+@~"; > > > > - if (ch > 127) > > + if (ch > 127 || ch < 0) > > return 1; > > > > return ch == 0 || !(isalpha(ch) || isdigit(ch) || strchr(extra, ch)); > > -- > > 2.5.1 Nice, pushed: 6179338..7978bc8 master -> master Thanks, pq
pgpfJmtaXQ7Xc.pgp
Description: OpenPGP digital signature
_______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
