diff --git a/cpukit/score/ChangeLog b/cpukit/score/ChangeLog index 661833de3b..38a97c6630 100644 --- a/cpukit/score/ChangeLog +++ b/cpukit/score/ChangeLog @@ -1,3 +1,9 @@ +2004-05-06 Joel Sherrill + + PR 618/rtems + * include/rtems/score/object.h, src/coretodvalidate.c, + src/objectnametoid.c: Add NULL checks. + 2004-01-11 Ralf Corsepius * macros/rtems/score/README: Remove (Redundant with macros/README). diff --git a/cpukit/score/include/rtems/score/object.h b/cpukit/score/include/rtems/score/object.h index 230fa8c5ee..39074c4ed9 100644 --- a/cpukit/score/include/rtems/score/object.h +++ b/cpukit/score/include/rtems/score/object.h @@ -456,6 +456,7 @@ boolean _Objects_Compare_name_raw( typedef enum { OBJECTS_SUCCESSFUL, OBJECTS_INVALID_NAME, + OBJECTS_INVALID_ADDRESS, OBJECTS_INVALID_NODE } Objects_Name_to_id_errors; diff --git a/cpukit/score/src/coretodvalidate.c b/cpukit/score/src/coretodvalidate.c index 9f0dd5635b..1b717ccbc3 100644 --- a/cpukit/score/src/coretodvalidate.c +++ b/cpukit/score/src/coretodvalidate.c @@ -40,7 +40,8 @@ boolean _TOD_Validate( { unsigned32 days_in_month; - if ((the_tod->ticks >= _TOD_Ticks_per_second) || + if ((!the_tod) || + (the_tod->ticks >= _TOD_Ticks_per_second) || (the_tod->second >= TOD_SECONDS_PER_MINUTE) || (the_tod->minute >= TOD_MINUTES_PER_HOUR) || (the_tod->hour >= TOD_HOURS_PER_DAY) || diff --git a/cpukit/score/src/objectnametoid.c b/cpukit/score/src/objectnametoid.c index d03b18c74d..1c83c15ddf 100644 --- a/cpukit/score/src/objectnametoid.c +++ b/cpukit/score/src/objectnametoid.c @@ -56,6 +56,9 @@ Objects_Name_to_id_errors _Objects_Name_to_id( unsigned32 name_length; Objects_Name_comparators compare_them; + if ( !id ) + return OBJECTS_INVALID_ADDRESS; + if ( name == 0 ) return OBJECTS_INVALID_NAME;