17 lines
523 B
Diff
17 lines
523 B
Diff
|
diff -up cyrus-sasl-2.1.23/lib/common.c.race cyrus-sasl-2.1.23/lib/common.c
|
||
|
--- cyrus-sasl-2.1.23/lib/common.c.race 2010-02-22 09:57:28.000000000 +0100
|
||
|
+++ cyrus-sasl-2.1.23/lib/common.c 2010-02-22 09:59:30.000000000 +0100
|
||
|
@@ -794,7 +794,11 @@ void sasl_dispose(sasl_conn_t **pconn)
|
||
|
if (result!=SASL_OK) return;
|
||
|
|
||
|
/* *pconn might have become NULL by now */
|
||
|
- if (! (*pconn)) return;
|
||
|
+ if (! (*pconn))
|
||
|
+ {
|
||
|
+ sasl_MUTEX_UNLOCK(free_mutex);
|
||
|
+ return;
|
||
|
+ }
|
||
|
|
||
|
(*pconn)->destroy_conn(*pconn);
|
||
|
sasl_FREE(*pconn);
|