diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1996-08-09 19:58:58 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1996-08-09 19:58:58 +0000 |
commit | b9444fb905ea2117086cd45f6d5bd7993b9afec4 (patch) | |
tree | 235e01b1729e18125100ac133141a1c585d9fc9d | |
parent | added test cases for EINVAL cases in pthread_mutexattr_destroy (diff) | |
download | rtems-b9444fb905ea2117086cd45f6d5bd7993b9afec4.tar.bz2 |
added code to catch NULL pointers for return values passed to get routines
-rw-r--r-- | c/src/exec/posix/src/mutex.c | 15 | ||||
-rw-r--r-- | cpukit/posix/src/mutex.c | 15 |
2 files changed, 18 insertions, 12 deletions
diff --git a/c/src/exec/posix/src/mutex.c b/c/src/exec/posix/src/mutex.c index 5f198fd020..e6feda5864 100644 --- a/c/src/exec/posix/src/mutex.c +++ b/c/src/exec/posix/src/mutex.c @@ -146,7 +146,7 @@ int pthread_mutexattr_destroy( pthread_mutexattr_t *attr ) { - if ( !attr || attr->is_initialized == FALSE ) + if ( !attr || !attr->is_initialized ) return EINVAL; attr->is_initialized = FALSE; @@ -163,7 +163,7 @@ int pthread_mutexattr_getpshared( int *pshared ) { - if ( !attr || attr->is_initialized == FALSE ) + if ( !attr || !attr->is_initialized || !pshared ) return EINVAL; *pshared = attr->process_shared; @@ -180,7 +180,7 @@ int pthread_mutexattr_setpshared( int pshared ) { - if ( !attr || attr->is_initialized == FALSE ) + if ( !attr || !attr->is_initialized ) return EINVAL; switch ( pshared ) { @@ -531,7 +531,7 @@ int pthread_mutexattr_getprotocol( int *protocol ) { - if ( !attr || attr->is_initialized == FALSE ) + if ( !attr || !attr->is_initialized || !protocol ) return EINVAL; *protocol = attr->protocol; @@ -548,7 +548,7 @@ int pthread_mutexattr_setprioceiling( int prioceiling ) { - if ( !attr || attr->is_initialized == FALSE ) + if ( !attr || !attr->is_initialized ) return EINVAL; if ( !_POSIX_Priority_Is_valid( attr->prio_ceiling ) ) @@ -568,7 +568,7 @@ int pthread_mutexattr_getprioceiling( int *prioceiling ) { - if ( !attr || attr->is_initialized == FALSE ) + if ( !attr || !attr->is_initialized || !prioceiling ) return EINVAL; *prioceiling = attr->prio_ceiling; @@ -639,6 +639,9 @@ int pthread_mutex_getprioceiling( register POSIX_Mutex_Control *the_mutex; Objects_Locations location; + if ( !prioceiling ) + return EINVAL; + the_mutex = _POSIX_Mutex_Get( mutex, &location ); switch ( location ) { case OBJECTS_ERROR: diff --git a/cpukit/posix/src/mutex.c b/cpukit/posix/src/mutex.c index 5f198fd020..e6feda5864 100644 --- a/cpukit/posix/src/mutex.c +++ b/cpukit/posix/src/mutex.c @@ -146,7 +146,7 @@ int pthread_mutexattr_destroy( pthread_mutexattr_t *attr ) { - if ( !attr || attr->is_initialized == FALSE ) + if ( !attr || !attr->is_initialized ) return EINVAL; attr->is_initialized = FALSE; @@ -163,7 +163,7 @@ int pthread_mutexattr_getpshared( int *pshared ) { - if ( !attr || attr->is_initialized == FALSE ) + if ( !attr || !attr->is_initialized || !pshared ) return EINVAL; *pshared = attr->process_shared; @@ -180,7 +180,7 @@ int pthread_mutexattr_setpshared( int pshared ) { - if ( !attr || attr->is_initialized == FALSE ) + if ( !attr || !attr->is_initialized ) return EINVAL; switch ( pshared ) { @@ -531,7 +531,7 @@ int pthread_mutexattr_getprotocol( int *protocol ) { - if ( !attr || attr->is_initialized == FALSE ) + if ( !attr || !attr->is_initialized || !protocol ) return EINVAL; *protocol = attr->protocol; @@ -548,7 +548,7 @@ int pthread_mutexattr_setprioceiling( int prioceiling ) { - if ( !attr || attr->is_initialized == FALSE ) + if ( !attr || !attr->is_initialized ) return EINVAL; if ( !_POSIX_Priority_Is_valid( attr->prio_ceiling ) ) @@ -568,7 +568,7 @@ int pthread_mutexattr_getprioceiling( int *prioceiling ) { - if ( !attr || attr->is_initialized == FALSE ) + if ( !attr || !attr->is_initialized || !prioceiling ) return EINVAL; *prioceiling = attr->prio_ceiling; @@ -639,6 +639,9 @@ int pthread_mutex_getprioceiling( register POSIX_Mutex_Control *the_mutex; Objects_Locations location; + if ( !prioceiling ) + return EINVAL; + the_mutex = _POSIX_Mutex_Get( mutex, &location ); switch ( location ) { case OBJECTS_ERROR: |