diff options
author | Richard Mudgett <rmudgett@digium.com> | 2015-04-09 16:07:32 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2015-04-09 16:07:32 +0000 |
commit | 1695a5b85ffe22ae26c06b46543782a29b31df67 (patch) | |
tree | f40630fbad93785307555841fe11aebb8524b8e3 /channels | |
parent | 92c1688edb4652302de73dfba74f8e03d7dca62f (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/
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@434510 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_iax2.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 29c2802eb..8feb9396b 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -12480,16 +12480,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); |