From b3e91e9179a85320d6e4aa63780cb653ff6a5a0e Mon Sep 17 00:00:00 2001 From: rpj Date: Wed, 18 Jul 2001 07:41:47 +0000 Subject: Fix potential NULL pointer dereferences. Contributed by - "Scott McCaskill" * 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. --- barrier.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'barrier.c') diff --git a/barrier.c b/barrier.c index fa52cbf..3cfa66f 100644 --- a/barrier.c +++ b/barrier.c @@ -221,13 +221,14 @@ pthread_barrierattr_init (pthread_barrierattr_t * attr) { result = ENOMEM; } - - ba->pshared = PTHREAD_PROCESS_PRIVATE; - + else + { + ba->pshared = PTHREAD_PROCESS_PRIVATE; + } + *attr = ba; - + return (result); - } /* pthread_barrierattr_init */ @@ -270,12 +271,9 @@ pthread_barrierattr_destroy (pthread_barrierattr_t * attr) *attr = NULL; free (ba); - - result = 0; } return (result); - } /* pthread_barrierattr_destroy */ @@ -330,12 +328,10 @@ pthread_barrierattr_getpshared (const pthread_barrierattr_t * attr, } else { - *pshared = PTHREAD_PROCESS_PRIVATE; result = EINVAL; } return (result); - } /* pthread_barrierattr_getpshared */ -- cgit v1.2.3