]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Make sure we clear the previously dialed number if it did not exist.
authorJason Parker <jparker@digium.com>
Wed, 20 Jun 2007 20:53:16 +0000 (20:53 +0000)
committerJason Parker <jparker@digium.com>
Wed, 20 Jun 2007 20:53:16 +0000 (20:53 +0000)
Issue 9958.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@70494 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_skinny.c

index c4d2a98a58614bafacd80771a71362787a5987c2..bf642933e42baf6e4ca97def25e73ec11680de4d 100644 (file)
@@ -2358,6 +2358,7 @@ static void *skinny_ss(void *data)
                        }
                } else if (res == 0) {
                        ast_log(LOG_DEBUG, "Not enough digits (and no ambiguous match)...\n");
+                       memset(d->exten, 0, sizeof(d->exten));
                        transmit_tone(s, SKINNY_REORDER);
                        if (sub->owner && sub->owner->_state != AST_STATE_UP) {
                                ast_indicate(c, -1);
@@ -2367,6 +2368,7 @@ static void *skinny_ss(void *data)
                } else if (!ast_canmatch_extension(c, c->context, d->exten, 1, c->cid.cid_num) &&
                           ((d->exten[0] != '*') || (!ast_strlen_zero(d->exten) > 2))) {
                        ast_log(LOG_WARNING, "Can't match [%s] from '%s' in context %s\n", d->exten, c->cid.cid_num ? c->cid.cid_num : "<Unknown Caller>", c->context);
+                       memset(d->exten, 0, sizeof(d->exten));
                        transmit_tone(s, SKINNY_REORDER);
                        /* hang out for 3 seconds to let congestion play */
                        ast_safe_sleep(c, 3000);
@@ -2382,6 +2384,7 @@ static void *skinny_ss(void *data)
        if (c)
                ast_hangup(c);
 
+       memset(d->exten, 0, sizeof(d->exten));
        return NULL;
 }