From: Dragos Oancea Date: Thu, 6 Dec 2018 02:30:03 +0000 (-0500) Subject: FS-11554: fix crash in conference API when no param given to "moh". X-Git-Tag: v1.8.3~1^2~8^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=551ce4c46f0a497829585a4c640a4eebb2148df9;p=thirdparty%2Ffreeswitch.git FS-11554: fix crash in conference API when no param given to "moh". --- diff --git a/src/mod/applications/mod_conference/conference_api.c b/src/mod/applications/mod_conference/conference_api.c index ec9fee5724..3e15aa9fd8 100644 --- a/src/mod/applications/mod_conference/conference_api.c +++ b/src/mod/applications/mod_conference/conference_api.c @@ -2709,6 +2709,9 @@ switch_status_t conference_api_sub_file_seek(conference_obj_t *conference, switc switch_status_t conference_api_set_moh(conference_obj_t *conference, const char *what) { + if (!what) { + return SWITCH_STATUS_FALSE; + } if (!strcasecmp(what, "toggle")) { if (conference_utils_test_flag(conference, CFLAG_NO_MOH)) { @@ -2737,7 +2740,15 @@ switch_status_t conference_api_set_moh(conference_obj_t *conference, const char switch_status_t conference_api_sub_moh(conference_obj_t *conference, switch_stream_handle_t *stream, int argc, char **argv) { - conference_api_set_moh(conference, argv[2]); + if (conference_api_set_moh(conference, argv[2]) == SWITCH_STATUS_SUCCESS) { + if (stream) { + stream->write_function(stream, "+OK moh\n"); + } + } else { + if (stream) { + stream->write_function(stream, "-ERR invalid moh param\n"); + } + } return SWITCH_STATUS_SUCCESS; }