On Wed, Apr 09, 2014 at 10:00:38PM +0800, Kito Cheng wrote: > `q` will out of bound access if `*q` already reach the end of > multilib_options, so check it before increment to prevent condition > check part out of bound access. > > btw, this bug is detected by address sanitizer.
Can you please expand on which target it is and what multilib_options contains? Perhaps some target just has invalid string in there. > 2014-04-09 Kito Cheng <k...@0xlab.org> > * gcc.c (used_arg): Prevent out of bound access for multilib_options. > > diff --git a/gcc/gcc.c b/gcc/gcc.c > index 5cb485a..c8ab7d6 100644 > --- a/gcc/gcc.c > +++ b/gcc/gcc.c > @@ -7490,7 +7490,7 @@ used_arg (const char *p, int len) > { > const char *r; > > - for (q = multilib_options; *q != '\0'; q++) > + for (q = multilib_options; *q != '\0'; *q && q++) > { > while (*q == ' ') > q++; Jakub