Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > acbc6830bfa68b18852a5599d08203c7 > files > 10

cyrus-sasl-2.1.25-12.mga3.src.rpm

--- lib/common.c	2011-09-02 08:58:01.000000000 -0400
+++ lib/common.c.oden	2011-10-14 12:06:25.669461832 -0400
@@ -818,7 +818,7 @@ int _sasl_common_init(sasl_global_callba
     result = sasl_canonuser_add_plugin("INTERNAL", internal_canonuser_init);
     if(result != SASL_OK) return result;    
 
-    if (!free_mutex) {
+    if (!free_mutex || free_mutex == 0x1) {
 	free_mutex = sasl_MUTEX_ALLOC();
     }
     if (!free_mutex) return SASL_FAIL;
@@ -838,6 +838,11 @@ void sasl_dispose(sasl_conn_t **pconn)
 
   /* serialize disposes. this is necessary because we can't
      dispose of conn->mutex if someone else is locked on it */
+
+  if (!free_mutex || free_mutex == 0x1)
+    free_mutex = sasl_MUTEX_ALLOC();
+  if (!free_mutex) return SASL_FAIL;
+
   result = sasl_MUTEX_LOCK(free_mutex);
   if (result!=SASL_OK) return;