diff options
author | Philip Withnall <philip.withnall@collabora.co.uk> | 2014-05-16 21:47:24 +0100 |
---|---|---|
committer | Philip Withnall <philip.withnall@collabora.co.uk> | 2014-05-20 11:01:38 +0100 |
commit | 03a82ce898ea435efd73a250d989f8dc6249aaf8 (patch) | |
tree | 136701f4387112016cd242db99344036c1173b5e | |
parent | e1243d11f000e18436b439f5655532801a71aeec (diff) |
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
-rw-r--r-- | glib/gthread-posix.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/glib/gthread-posix.c b/glib/gthread-posix.c index c98c2d807..2f54070f2 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) |