From 812f440589acb2a6768bf08db856edd74c6e27fc Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 21 Oct 1999 16:38:49 +0000 Subject: Fixed core dump caused when output parameter (otimer) was NULL. --- cpukit/posix/src/ptimer.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'cpukit/posix/src/ptimer.c') diff --git a/cpukit/posix/src/ptimer.c b/cpukit/posix/src/ptimer.c index f44a0b28b3..81d1d35e1d 100644 --- a/cpukit/posix/src/ptimer.c +++ b/cpukit/posix/src/ptimer.c @@ -589,6 +589,7 @@ int timer_settime( rtems_status_code return_v; /* Return of the calls to RTEMS */ int timer_pos; /* Position of the timer in the table */ rtems_time_of_day rtems_time; /* Time in RTEMS */ + /* First the position in the table of timers is obtained */ @@ -623,7 +624,8 @@ int timer_settime( /* The old data of the timer are returned */ - COPY_ITIMERSPEC_S ( &timer_struct[timer_pos].timer_data, ovalue ); + if ( ovalue ) + COPY_ITIMERSPEC_S ( &timer_struct[timer_pos].timer_data, ovalue ); /* The new data are set */ @@ -682,7 +684,8 @@ int timer_settime( /* Actualizes the data of the structure and * returns the old ones in "ovalue" */ - COPY_ITIMERSPEC_S ( &timer_struct[timer_pos].timer_data, ovalue ); + if ( ovalue ) + COPY_ITIMERSPEC_S ( &timer_struct[timer_pos].timer_data, ovalue ); COPY_ITIMERSPEC_S ( value, &timer_struct[timer_pos].timer_data ); @@ -757,7 +760,8 @@ int timer_settime( /* Actualizes the data of the structure and * returns the old ones in "ovalue" */ - COPY_ITIMERSPEC_S ( &timer_struct[timer_pos].timer_data, ovalue ); + if ( ovalue ) + COPY_ITIMERSPEC_S ( &timer_struct[timer_pos].timer_data, ovalue ); COPY_ITIMERSPEC_S ( value, &timer_struct[timer_pos].timer_data ); -- cgit v1.2.3