egl: fix deadlock in malloc error path
[mesa.git] / src / egl / main / egldriver.c
index e719b19a63f383d082b44e541d7103a35f06ab95..0d8919aa0e1cce345a6780db81de2e974ae2b05e 100644 (file)
@@ -56,8 +56,10 @@ _eglGetDriver(void)
 
    if (!_eglDriver) {
       _eglDriver = calloc(1, sizeof(*_eglDriver));
-      if (!_eglDriver)
+      if (!_eglDriver) {
+         mtx_unlock(&_eglModuleMutex);
          return NULL;
+      }
       _eglInitDriver(_eglDriver);
    }