[PATCH] vfscanf: Avoid multiple reads of multi-byte character width

Florian Weimer fweimer@redhat.com
Fri Sep 2 14:15:00 GMT 2016


On 09/02/2016 03:56 PM, Andreas Schwab wrote:
> On Sep 02 2016, fweimer@redhat.com (Florian Weimer) wrote:
>
>> diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c
>> index 8cd5955..2b7093e 100644
>> --- a/stdio-common/vfscanf.c
>> +++ b/stdio-common/vfscanf.c
>> @@ -757,7 +757,7 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr,
>>  		  size_t n;
>>
>>  		  if (!(flags & SUPPRESS) && (flags & POSIX_MALLOC)
>> -		      && str + MB_CUR_MAX >= *strptr + strsize)
>> +		      && MB_LEN_MAX >= *strptr + strsize - str)
>
> Please reorder the condition to put the constant part on the right hand
> side (also below).

Thanks, committed with that change.

Florian



More information about the Libc-alpha mailing list