diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-10-21 16:38:49 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-10-21 16:38:49 +0000 |
commit | 812f440589acb2a6768bf08db856edd74c6e27fc (patch) | |
tree | a358c31c801b2e1e32afecddbd7af511f8163681 /c | |
parent | Added sh-rtemself and m68k-rtemself. (diff) | |
download | rtems-812f440589acb2a6768bf08db856edd74c6e27fc.tar.bz2 |
Fixed core dump caused when output parameter (otimer) was NULL.
Diffstat (limited to 'c')
-rw-r--r-- | c/src/exec/posix/src/ptimer.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/c/src/exec/posix/src/ptimer.c b/c/src/exec/posix/src/ptimer.c index f44a0b28b3..81d1d35e1d 100644 --- a/c/src/exec/posix/src/ptimer.c +++ b/c/src/exec/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 ); |