Hi, It seems there is a possible deadlock in sasl_dispose: if the pointer pconn is nullified by an other thread, the calling thread will simply return without freeing the free_mutex mutex. Attached patch should fix the issue. BR, -- Eric Leblond INL: http://www.inl.fr/ NuFW: http://www.nufw.org/
? lib/.common.c.swp Index: lib/common.c =================================================================== RCS file: /cvs/src/sasl/lib/common.c,v retrieving revision 1.116 diff -r1.116 common.c 801c801,804 < if (! (*pconn)) return; --- > if (! (*pconn)) { > sasl_MUTEX_UNLOCK(free_mutex); > return; > }
Attachment:
signature.asc
Description: Digital signature