Prevent a crash when dialing a technology with no destination (ex: Dial(SIP/))

chan_iax2 and other channel drivers already had code to prevent this.  The
attempt that app_dial was making to prevent it was not correct, so I fixed that.

(closes issue #18371)
Reported by: gbour
Patches: 
      18371.patch uploaded by gbour (license 1162)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@305252 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.4
Jason Parker 15 years ago
parent 23a1e7bb49
commit e03c6ed738

@ -1224,7 +1224,7 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags
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;
}

@ -18014,6 +18014,12 @@ static struct ast_channel *sip_request_call(const char *type, int format, void *
if (option_debug)
ast_log(LOG_DEBUG, "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))) {
ast_log(LOG_ERROR, "Unable to build sip pvt data for '%s' (Out of memory or socket error)\n", (char *)data);
*cause = AST_CAUSE_SWITCH_CONGESTION;

Loading…
Cancel
Save