[asterisk-commits] kharwell: trunk r388840 - in /trunk: ./ main/lock.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed May 15 10:58:57 CDT 2013


Author: kharwell
Date: Wed May 15 10:58:56 2013
New Revision: 388840

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=388840
Log:
Fix for segfault in __ast_rwlock_destroy with DEBUG_THREADS

If DEBUG_THREADS is enabled __ast_rwlock_destroy causes a segfault while trying
to access a possible NULL t->track object.  A NULL check has been added before
trying to access the memory.

(closes issue ASTERISK-21724)
Reported by: Corey Farrell
Fixed by: Corey Farrell
Patches:
	ast_rwlock_destroy-segv.patch uploaded by Corey Farrell (license 5909)
........

Merged revisions 388838 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 388839 from http://svn.asterisk.org/svn/asterisk/branches/11

Modified:
    trunk/   (props changed)
    trunk/main/lock.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-11-merged' - no diff available.

Modified: trunk/main/lock.c
URL: http://svnview.digium.com/svn/asterisk/trunk/main/lock.c?view=diff&rev=388840&r1=388839&r2=388840
==============================================================================
--- trunk/main/lock.c (original)
+++ trunk/main/lock.c Wed May 15 10:58:56 2013
@@ -745,7 +745,7 @@
 		__ast_mutex_logger("%s line %d (%s): Error destroying rwlock %s: %s\n",
 				filename, lineno, func, rwlock_name, strerror(res));
 	}
-	if (t->tracking) {
+	if (t->tracking && lt) {
 		ast_reentrancy_lock(lt);
 		lt->file[0] = filename;
 		lt->lineno[0] = lineno;




More information about the asterisk-commits mailing list