diff options
author | rpj <rpj> | 2001-07-18 07:41:47 +0000 |
---|---|---|
committer | rpj <rpj> | 2001-07-18 07:41:47 +0000 |
commit | b3e91e9179a85320d6e4aa63780cb653ff6a5a0e (patch) | |
tree | 90a054b0533f577c43cd7d76fd24f4690d913786 /mutex.c | |
parent | 024172be698e329e76c95e32c29ca5023fc036ac (diff) |
Fix potential NULL pointer dereferences.
Contributed by - "Scott McCaskill" <scott@magruder.org>
* mutex.c (pthread_mutexattr_init): Return ENOMEM
immediately and don't dereference the NULL pointer
if calloc fails.
(pthread_mutexattr_getpshared): Don't dereference
a pointer that is possibly NULL.
* barrier.c (pthread_barrierattr_init): Likewise
(pthread_barrierattr_getpshared): Don't dereference
a pointer that is possibly NULL.
* condvar.c (pthread_condattr_getpshared): Don't dereference
a pointer that is possibly NULL.
Diffstat (limited to 'mutex.c')
-rw-r--r-- | mutex.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -290,10 +290,10 @@ pthread_mutexattr_init (pthread_mutexattr_t * attr) { ma->pshared = PTHREAD_PROCESS_PRIVATE; ma->kind = PTHREAD_MUTEX_DEFAULT; - - *attr = ma; } + *attr = ma; + return(result); } /* pthread_mutexattr_init */ @@ -384,16 +384,16 @@ pthread_mutexattr_getpshared (const pthread_mutexattr_t * attr, * ------------------------------------------------------ */ { - int result = 0; + int result; if ((attr != NULL && *attr != NULL) && (pshared != NULL)) { *pshared = (*attr)->pshared; + result = 0; } else { - *pshared = PTHREAD_PROCESS_PRIVATE; result = EINVAL; } |