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

Reply via email to