glx: drop obsolete _XUnlock_Mutex in __glXInitialize error path
authorEmil Velikov <emil.l.velikov@gmail.com>
Sun, 16 Mar 2014 02:56:18 +0000 (02:56 +0000)
committerEmil Velikov <emil.l.velikov@gmail.com>
Wed, 9 Apr 2014 21:12:35 +0000 (22:12 +0100)
With commit 1f1928db001(glx: Drop _Xglobal_lock while we create and
initialize glx display) we've split the big _Xglobal_lock handling in
a more fine grained manner.

Unfortunatelly we forgot to drop the unlock_mutex on the error paths,
leading to undefined behaviour as the mutex is already unlocked.

Cc: Kristian Høgsberg <krh@bitplanet.net>
Cc: "9.2 10.0 10.1" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/glx/glxext.c

index 0838cd19251ff313acbca08103b1d5735492066d..29317906d52bdeaaa88feb0b617a2d8bad7a947a 100644 (file)
@@ -830,7 +830,6 @@ __glXInitialize(Display * dpy)
    dpyPriv->codes = XInitExtension(dpy, __glXExtensionName);
    if (!dpyPriv->codes) {
       free(dpyPriv);
-      _XUnlockMutex(_Xglobal_lock);
       return NULL;
    }
 
@@ -846,7 +845,6 @@ __glXInitialize(Display * dpy)
                     &dpyPriv->majorVersion, &dpyPriv->minorVersion)
        || (dpyPriv->majorVersion == 1 && dpyPriv->minorVersion < 1)) {
       free(dpyPriv);
-      _XUnlockMutex(_Xglobal_lock);
       return NULL;
    }
 
@@ -911,7 +909,7 @@ __glXInitialize(Display * dpy)
    dpyPriv->next = glx_displays;
    glx_displays = dpyPriv;
 
-    _XUnlockMutex(_Xglobal_lock);
+   _XUnlockMutex(_Xglobal_lock);
 
    return dpyPriv;
 }