[asterisk-commits] sgriepentrog: trunk r406724 - in /trunk: ./ main/rtp_engine.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Jan 28 10:43:27 CST 2014
Author: sgriepentrog
Date: Tue Jan 28 10:43:25 2014
New Revision: 406724
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=406724
Log:
rtp_engine: improved handling of get_rtp_info failure
In ast_rtp_instance_make_compatible(), after a failure of
channel tech call get_rtp_info() to return peer_instance,
the null pointer would be passed to ao2_ref, producing an
error that looked like a refernce counting problem but is
not. This patch corrects that and adds helpful LOG_ERROR
messages to indicate which failure path occurred.
(issue AST-1276)
Review: https://reviewboard.asterisk.org/r/3156/
........
Merged revisions 406721 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 406722 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 406723 from http://svn.asterisk.org/svn/asterisk/branches/12
Modified:
trunk/ (props changed)
trunk/main/rtp_engine.c
Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-12-merged' - no diff available.
Modified: trunk/main/rtp_engine.c
URL: http://svnview.digium.com/svn/asterisk/trunk/main/rtp_engine.c?view=diff&rev=406724&r1=406723&r2=406724
==============================================================================
--- trunk/main/rtp_engine.c (original)
+++ trunk/main/rtp_engine.c Tue Jan 28 10:43:25 2014
@@ -1357,11 +1357,15 @@
}
glue->get_rtp_info(peer, &peer_instance);
-
- if (!peer_instance || peer_instance->engine != instance->engine) {
+ if (!peer_instance) {
+ ast_log(LOG_ERROR, "Unable to get_rtp_info for peer type %s\n", glue->type);
+ ast_channel_unlock(peer);
+ return -1;
+ }
+ if (peer_instance->engine != instance->engine) {
+ ast_log(LOG_ERROR, "Peer engine mismatch for type %s\n", glue->type);
ast_channel_unlock(peer);
ao2_ref(peer_instance, -1);
- peer_instance = NULL;
return -1;
}
More information about the asterisk-commits
mailing list