[asterisk-commits] schmidts: branch 10 r335260 - in /branches/10: ./ channels/chan_sip.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Sep 12 06:11:51 CDT 2011


Author: schmidts
Date: Mon Sep 12 06:11:45 2011
New Revision: 335260

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=335260
Log:
Merged revisions 335259 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r335259 | schmidts | 2011-09-12 11:09:19 +0000 (Mon, 12 Sep 2011) | 6 lines
  
  build_peer doesnt unlink a peer object from peers_by_ip container which leads to a wrong refcounter value.
  adding an ao2_unlink from the peers_by_ip container fix it.
  
  Review: https://reviewboard.asterisk.org/r/1428/
........

Modified:
    branches/10/   (props changed)
    branches/10/channels/chan_sip.c

Propchange: branches/10/
------------------------------------------------------------------------------
Binary property 'branch-1.8-merged' - no diff available.

Modified: branches/10/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/branches/10/channels/chan_sip.c?view=diff&rev=335260&r1=335259&r2=335260
==============================================================================
--- branches/10/channels/chan_sip.c (original)
+++ branches/10/channels/chan_sip.c Mon Sep 12 06:11:45 2011
@@ -27218,6 +27218,9 @@
 	if (peer) {
 		/* Already in the list, remove it and it will be added back (or FREE'd)  */
 		found++;
+		/* we've unlinked the peer from the peers container but not unlinked from the peers_by_ip container yet
+		  this leads to a wrong refcounter and the peer object is never destroyed */
+		ao2_t_unlink(peers_by_ip, peer, "ao2_unlink peer from peers_by_ip table");
 		if (!(peer->the_mark))
 			firstpass = 0;
 	} else {




More information about the asterisk-commits mailing list