[asterisk-commits] sgriepentrog: branch 11 r406722 - in /branches/11: ./ main/rtp_engine.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Jan 28 10:40:30 CST 2014
Author: sgriepentrog
Date: Tue Jan 28 10:40:28 2014
New Revision: 406722
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=406722
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
Modified:
branches/11/ (props changed)
branches/11/main/rtp_engine.c
Propchange: branches/11/
------------------------------------------------------------------------------
Binary property 'branch-1.8-merged' - no diff available.
Modified: branches/11/main/rtp_engine.c
URL: http://svnview.digium.com/svn/asterisk/branches/11/main/rtp_engine.c?view=diff&rev=406722&r1=406721&r2=406722
==============================================================================
--- branches/11/main/rtp_engine.c (original)
+++ branches/11/main/rtp_engine.c Tue Jan 28 10:40:28 2014
@@ -1925,11 +1925,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