diff --git a/apps/app_dial.c b/apps/app_dial.c index a1522a81a..581a88170 100644 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -1944,7 +1944,7 @@ static int dial_exec_full(struct ast_channel *chan, const char *data, struct ast struct ast_dialed_interface *di; AST_LIST_HEAD(, ast_dialed_interface) *dialed_interfaces; num_dialed++; - if (!number) { + if (ast_strlen_zero(number)) { ast_log(LOG_WARNING, "Dial argument takes format (technology/[device:]number1)\n"); goto out; } diff --git a/channels/chan_sip.c b/channels/chan_sip.c index d0c0fffa3..a33a0ddd1 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -25347,6 +25347,12 @@ static struct ast_channel *sip_request_call(const char *type, format_t format, c } ast_debug(1, "Asked to create a SIP channel with formats: %s\n", ast_getformatname_multiple(tmp, sizeof(tmp), oldformat)); + if (ast_strlen_zero(dest)) { + ast_log(LOG_ERROR, "Unable to create channel with empty destination.\n"); + *cause = AST_CAUSE_CHANNEL_UNACCEPTABLE; + return NULL; + } + if (!(p = sip_alloc(NULL, NULL, 0, SIP_INVITE, NULL))) { ast_log(LOG_ERROR, "Unable to build sip pvt data for '%s' (Out of memory or socket error)\n", dest); *cause = AST_CAUSE_SWITCH_CONGESTION;