From: Philip Withnall Date: Fri, 16 May 2014 20:47:24 +0000 (+0100) Subject: gthread: Fix use of a local variable after it went out of scope X-Git-Tag: 2.41.1~69 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=03a82ce898ea435efd73a250d989f8dc6249aaf8;p=platform%2Fupstream%2Fglib.git gthread: Fix use of a local variable after it went out of scope This could theoretically cause problems, although in practice we would have seen them by now (the bug was introduced in 2012). Coverity issue: #1159486 https://bugzilla.gnome.org/show_bug.cgi?id=730277 --- diff --git a/glib/gthread-posix.c b/glib/gthread-posix.c index c98c2d8..2f54070 100644 --- a/glib/gthread-posix.c +++ b/glib/gthread-posix.c @@ -83,18 +83,18 @@ g_mutex_impl_new (void) pthread_mutexattr_t *pattr = NULL; pthread_mutex_t *mutex; gint status; +#ifdef PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP + pthread_mutexattr_t attr; +#endif mutex = malloc (sizeof (pthread_mutex_t)); if G_UNLIKELY (mutex == NULL) g_thread_abort (errno, "malloc"); #ifdef PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP - { - pthread_mutexattr_t attr; - pthread_mutexattr_init (&attr); - pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_ADAPTIVE_NP); - pattr = &attr; - } + pthread_mutexattr_init (&attr); + pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_ADAPTIVE_NP); + pattr = &attr; #endif if G_UNLIKELY ((status = pthread_mutex_init (mutex, pattr)) != 0)