summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Withnall <philip.withnall@collabora.co.uk>2014-05-16 21:47:24 +0100
committerPhilip Withnall <philip.withnall@collabora.co.uk>2014-05-20 11:01:38 +0100
commit03a82ce898ea435efd73a250d989f8dc6249aaf8 (patch)
tree136701f4387112016cd242db99344036c1173b5e
parente1243d11f000e18436b439f5655532801a71aeec (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.c12
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)