Fix execution of 'i' extension due to uninitialized variable.
authorRichard Mudgett <rmudgett@digium.com>
Tue, 9 Oct 2012 22:24:10 +0000 (22:24 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Tue, 9 Oct 2012 22:24:10 +0000 (22:24 +0000)
The fix for ASTERISK-18243 added code that could potentially use
dst_exten[] uninitialized.  As a result the 'i' exten may not be executed
when it should.

(closes issue ASTERISK-20455)
Reported by: Richard Miller
Patches:
      pbx-1.8.16.0.diff (license #5685) patch uploaded by Richard Miller
      Made some cosmetic modifications.
........

Merged revisions 374758 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 374763 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 374771 from http://svn.asterisk.org/svn/asterisk/branches/11

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

main/pbx.c

index 1e8f1a3..9fdd3a1 100644 (file)
@@ -6026,6 +6026,9 @@ static enum ast_pbx_result __ast_pbx_run(struct ast_channel *c,
                int invalid = 0;
                int timeout = 0;
 
+               /* No digits pressed yet */
+               dst_exten[pos] = '\0';
+
                /* loop on priorities in this context/exten */
                while (!(res = ast_spawn_extension(c, ast_channel_context(c), ast_channel_exten(c), ast_channel_priority(c),
                        S_COR(ast_channel_caller(c)->id.number.valid, ast_channel_caller(c)->id.number.str, NULL),