diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 36ead29898..8c0a4a292f 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,8 @@ +2011-02-01 Ralf Corsepius + + * libmisc/stringto/stringtolong.c: Reformat range check. + Add check for result==0. + 2011-02-01 Ralf Corsepius * libmisc/Makefile.am: Remove stringto/stringto_template.h. diff --git a/cpukit/libmisc/stringto/stringtolong.c b/cpukit/libmisc/stringto/stringtolong.c index 9800c537d1..e77b8822b8 100644 --- a/cpukit/libmisc/stringto/stringtolong.c +++ b/cpukit/libmisc/stringto/stringtolong.c @@ -49,11 +49,9 @@ rtems_status_code rtems_string_to_long ( if ( end == s ) return RTEMS_NOT_DEFINED; - if ( (result == LONG_MAX) && (errno == ERANGE) ) - return RTEMS_INVALID_NUMBER; - - if ( (result == LONG_MIN) && (errno == ERANGE) ) - return RTEMS_INVALID_NUMBER; + if ( ( errno == ERANGE ) && + (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN ))) + return RTEMS_INVALID_NUMBER; *n = result;