strptime() could hangs for hours

Aleksandr Platonov
Mon Feb 14 13:06:00 GMT 2011

strptime() function could hangs if format string contains characters
which set date by week number (U,W,V).
struct tm tm;
tm.tm_year = 0x6FFFFFFF;
strptime("52", "%U", &tm);

This happens because first_day() function call hangs for hours if big
year value is passed to it.
We could not assume that tm_year field of tm structure has correct value
at processing U,V,W characters in strptime(), so first_day() function
parameter could have any value.
In BSD libc characters U,V and W are ignored (only range check is
Is this behaviour of strptime() in newlib correct?
Aleksandr Platonov

More information about the Newlib mailing list