Bug in _scanf.c
Pirmin Walthert
infos at nappsoft.com
Mon Mar 18 11:58:19 UTC 2013
(For sure just resetting i after the "while (*fmt !=']')" loop would be
enough, but this would somehow ruin the "set the vars once, use them in
every of the three functions" approach of commit
e567c399ff86d007d8c4586f0dd5e0ca61e283ca)
On 03/18/2013 09:55 AM, Pirmin Walthert wrote:
> Hello
>
> It seems like commit e567c399ff86d007d8c4586f0dd5e0ca61e283ca
> <http://git.uclibc.org/uClibc/commit/?h=0.9.33&id=e567c399ff86d007d8c4586f0dd5e0ca61e283ca>
> had introduced a bug into _scanf.c.
>
> I noticed this first when netstat started giving me quite strange
> outputs. The attached patch fixes the problem for me. The most
> important change was to use j instead of i, as i is also used in the
> "if (*fmt != ']')" loop starting on line 1436.
>
> The other changes should not change anything I guess, but it makes the
> 'm'-modifier case working a bit more like before commit
> e567c399ff86d007d8c4586f0dd5e0ca61e283ca
> <http://git.uclibc.org/uClibc/commit/?h=0.9.33&id=e567c399ff86d007d8c4586f0dd5e0ca61e283ca>
> (for example: *ptr = b would also have been set in "fail" case before
> the mentioned commit. With my patch the order of setting *p, changing
> j and __scan_ungetc is the same one as before)).
>
> Regards,
>
> Pirmin
>
>
> _______________________________________________
> uClibc mailing list
> uClibc at uclibc.org
> http://lists.busybox.net/mailman/listinfo/uclibc
More information about the uClibc
mailing list