[asterisk-commits] kmoore: branch 1.8 r409521 - /branches/1.8/main/rtp_engine.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Mar 4 09:31:07 CST 2014
Author: kmoore
Date: Tue Mar 4 09:31:05 2014
New Revision: 409521
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=409521
Log:
rtp_engine: Clean up after a failed remote bridge
Upon failure of an INVITE transaction meant to initiate a remote native
bridge, rtp_engine.c would not clean up non-reference-counted bridge
instance pointers leaving a dangling pointer which was being used to
perform a local native bridge after the other channel had hung up. This
lead to dereferencing into freed memory and plenty of AO2 errors. This
change allows the remote native bridge loop to clean up properly when
the bridge fails.
(closes issue ASTERISK-23310)
Reported by: Jeremy Laine
Modified:
branches/1.8/main/rtp_engine.c
Modified: branches/1.8/main/rtp_engine.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/main/rtp_engine.c?view=diff&rev=409521&r1=409520&r2=409521
==============================================================================
--- branches/1.8/main/rtp_engine.c (original)
+++ branches/1.8/main/rtp_engine.c Tue Mar 4 09:31:05 2014
@@ -1211,7 +1211,8 @@
*fo = fr;
*rc = who;
ast_debug(1, "Got a FRAME_CONTROL (%d) frame on channel %s\n", fr->subclass.integer, who->name);
- return AST_BRIDGE_COMPLETE;
+ res = AST_BRIDGE_COMPLETE;
+ break;
}
} else {
if ((fr->frametype == AST_FRAME_DTMF_BEGIN) ||
More information about the asterisk-commits
mailing list