From bd8cf10d60560524a5c90315a85b471d14e61331 Mon Sep 17 00:00:00 2001 From: Joshua Colp Date: Thu, 3 Oct 2013 19:06:48 +0000 Subject: [PATCH] Fix a crash caused by muting and unmuting a channel in ARI without specifying a direction. (closes issue ASTERISK-22637) Reported by: Scott Griepentrog Patch by Matt Jordan, whose office I have taken over in the name of Canada. ........ Merged revisions 400401 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@400402 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/ari/resource_channels.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/res/ari/resource_channels.c b/res/ari/resource_channels.c index 4d5228168a..aaf04a3f88 100644 --- a/res/ari/resource_channels.c +++ b/res/ari/resource_channels.c @@ -152,6 +152,13 @@ void ast_ari_mute_channel(struct ast_variable *headers, struct ast_mute_channel_ return; } + if (ast_strlen_zero(args->direction)) { + ast_ari_response_error( + response, 400, "Bad Request", + "Direction is required"); + return; + } + if (!strcmp(args->direction, "in")) { direction = AST_MUTE_DIRECTION_READ; } else if (!strcmp(args->direction, "out")) { @@ -181,6 +188,13 @@ void ast_ari_unmute_channel(struct ast_variable *headers, struct ast_unmute_chan return; } + if (ast_strlen_zero(args->direction)) { + ast_ari_response_error( + response, 400, "Bad Request", + "Direction is required"); + return; + } + if (!strcmp(args->direction, "in")) { direction = AST_MUTE_DIRECTION_READ; } else if (!strcmp(args->direction, "out")) {