[asterisk-commits] mvanbaak: branch 1.6.0 r135057 - in /branches/1.6.0: ./ channels/chan_skinny.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Aug 1 06:03:07 CDT 2008


Author: mvanbaak
Date: Fri Aug  1 06:03:07 2008
New Revision: 135057

URL: http://svn.digium.com/view/asterisk?view=rev&rev=135057
Log:
Merged revisions 135056 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

................
r135056 | mvanbaak | 2008-08-01 13:00:13 +0200 (Fri, 01 Aug 2008) | 16 lines

Merged revisions 135055 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r135055 | mvanbaak | 2008-08-01 12:55:27 +0200 (Fri, 01 Aug 2008) | 8 lines

fix some potential deadlocks in chan_skinny

(closes issue #13215)
Reported by: qwell
Patches:
      2008080100_bug13215.diff.txt uploaded by mvanbaak (license 7)
Tested by: mvanbaak

........

................

Modified:
    branches/1.6.0/   (props changed)
    branches/1.6.0/channels/chan_skinny.c

Propchange: branches/1.6.0/
------------------------------------------------------------------------------
Binary property 'trunk-merged' - no diff available.

Modified: branches/1.6.0/channels/chan_skinny.c
URL: http://svn.digium.com/view/asterisk/branches/1.6.0/channels/chan_skinny.c?view=diff&rev=135057&r1=135056&r2=135057
==============================================================================
--- branches/1.6.0/channels/chan_skinny.c (original)
+++ branches/1.6.0/channels/chan_skinny.c Fri Aug  1 06:03:07 2008
@@ -1836,6 +1836,7 @@
 
 	if (letohl(req->len > SKINNY_MAX_PACKET) || letohl(req->len < 0)) {
 		ast_log(LOG_WARNING, "transmit_response: the length of the request is out of bounds\n");
+		ast_mutex_unlock(&s->lock);
 		return -1;
 	}
 
@@ -5999,6 +6000,7 @@
 		if(setsockopt(skinnysock, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) == -1) {
 			ast_log(LOG_ERROR, "Set Socket Options failed: errno %d, %s\n", errno, strerror(errno));
 			ast_config_destroy(cfg);
+			ast_mutex_unlock(&netlock);
 			return 0;
 		}
 		if (skinnysock < 0) {
@@ -6011,6 +6013,7 @@
 				close(skinnysock);
 				skinnysock = -1;
 				ast_config_destroy(cfg);
+				ast_mutex_unlock(&netlock);
 				return 0;
 			}
 			if (listen(skinnysock,DEFAULT_SKINNY_BACKLOG)) {
@@ -6020,6 +6023,7 @@
 					close(skinnysock);
 					skinnysock = -1;
 					ast_config_destroy(cfg);
+					ast_mutex_unlock(&netlock);
 					return 0;
 			}
 			ast_verb(2, "Skinny listening on %s:%d\n",




More information about the asterisk-commits mailing list