]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fix execution of 'i' extension due to uninitialized variable.
authorRichard Mudgett <rmudgett@digium.com>
Tue, 9 Oct 2012 22:19:26 +0000 (22:19 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Tue, 9 Oct 2012 22:19:26 +0000 (22:19 +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

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

main/pbx.c

index 0d7a93b03885d25c5b19fa05eb546fee5b4c28f6..a12ef4f078db1607d3d8e824f7a3097b16656802 100644 (file)
@@ -5159,6 +5159,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, c->context, c->exten, c->priority,
                        S_COR(c->caller.id.number.valid, c->caller.id.number.str, NULL),