On Tue, 18 Sep 2018 00:56:09 -0600, Theo de Raadt wrote:

> CVSROOT:      /cvs
> Module name:  src
> Changes by:   dera...@cvs.openbsd.org 2018/09/18 00:56:09
>
> Modified files:
>       bin/csh        : alloc.c csh.h dol.c error.c exec.c exp.c 
>                        extern.h lex.c misc.c parse.c set.c str.c 
>                        time.c 
>
> Log message:
> backout last week of csh diffs.  They are disasterously broken, on i386
> it becomes entirely unusable.

The problem is that there are callers of any() that pass in a value
that is not in the range [0, 255].  This causes unexpected behavior
with the i386 assembler version of strchr().

To use strchr() here we either need mask the char value with 0xff
or figure out why asyntax() is calling any() with a char value of
-32768.

 - todd

Reply via email to