[asterisk-commits] schmidts: trunk r335261 - in /trunk: ./ channels/chan_sip.c

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


Author: schmidts
Date: Mon Sep 12 06:15:01 2011
New Revision: 335261

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

................
  r335260 | schmidts | 2011-09-12 11:11:45 +0000 (Mon, 12 Sep 2011) | 12 lines
  
  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:
    trunk/   (props changed)
    trunk/channels/chan_sip.c

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

Modified: trunk/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/trunk/channels/chan_sip.c?view=diff&rev=335261&r1=335260&r2=335261
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Mon Sep 12 06:15:01 2011
@@ -27248,6 +27248,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