summaryrefslogtreecommitdiff
path: root/channels/chan_iax2.c
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2015-04-09 16:09:58 +0000
committerRichard Mudgett <rmudgett@digium.com>2015-04-09 16:09:58 +0000
commitb2b1f24af6d0ad8bfd9569e135854857a7667f56 (patch)
treef950d10c209d182523862a94fb338a4270ad0f98 /channels/chan_iax2.c
parent459171be12a374101d66d6904e173be847b279c7 (diff)
chan_iax2.c: Fix ref leak in iax2_request().
* Increased warning message format capability string buffer size in iax2_request(). Review: https://reviewboard.asterisk.org/r/4601/ ........ Merged revisions 434510 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434511 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_iax2.c')
-rw-r--r--channels/chan_iax2.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index b27b8134a..aaf31800e 100644
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -12464,16 +12464,18 @@ static struct ast_channel *iax2_request(const char *type, struct ast_format_cap
if (!ast_format_cap_count(joint)) {
struct ast_format *best_fmt_cap = NULL;
struct ast_format *best_fmt_native = NULL;
+
res = ast_translator_best_choice(cap, ast_channel_nativeformats(c), &best_fmt_cap, &best_fmt_native);
if (res < 0) {
- struct ast_str *native_cap_buf = ast_str_alloca(64);
- struct ast_str *cap_buf = ast_str_alloca(64);
+ struct ast_str *native_cap_buf = ast_str_alloca(256);
+ struct ast_str *cap_buf = ast_str_alloca(256);
ast_log(LOG_WARNING, "Unable to create translator path for %s to %s on %s\n",
ast_format_cap_get_names(ast_channel_nativeformats(c), &native_cap_buf),
ast_format_cap_get_names(cap, &cap_buf),
ast_channel_name(c));
ast_hangup(c);
+ ao2_ref(joint, -1);
return NULL;
}
ast_format_cap_append(joint, best_fmt_native, 0);