[asterisk-bugs] [JIRA] Created: (ASTERISK-20472) dialplan fails to run the invalid "i" extension due to an uninitialized variable dat_exten in main/pbx.c
Rusty Newton (JIRA)
noreply at issues.asterisk.org
Mon Sep 24 14:45:27 CDT 2012
dialplan fails to run the invalid "i" extension due to an uninitialized variable dat_exten in main/pbx.c
--------------------------------------------------------------------------------------------------------
Key: ASTERISK-20472
URL: https://issues.asterisk.org/jira/browse/ASTERISK-20472
Project: Asterisk
Issue Type: Bug
Security Level: None
Components: Core/PBX
Affects Versions: 1.8.16.0, 10.8.0, 11.0.0-beta2
Environment: Fedora Core 5 i686 i386, gcc 4.1.1
Reporter: Richard Miller
Severity: Critical
The dialplan fails to run the invalid "i" extension due to an uninitialized variable dat_exten in main/pbx.c
In the following code I had to use the word OR instead of the pipe characters because JIRA was causing the text to display in an unexpected fashion.
Because dst_exten contains random data, it fails at the block of code that reads:
{code:title=in version 1.8.16.0}
if (invalid
OR (ast_strlen_zero(dst_exten) &&
!ast_exists_extension(c, c->context, c->exten, 1,
S_COR(c->caller.id.number.valid, c->caller.id.number.str, NULL)))) {
{code}
{code:title=in version 11.0.0-beta2}
if (invalid
OR (ast_strlen_zero(dst_exten) &&
!ast_exists_extension(c, ast_channel_context(c), ast_channel_exten(c), 1,
S_COR(ast_channel_caller(c)->id.number.valid, ast_channel_caller(c)->id.number.str, NULL)))) {
{code}
I have another newer system under CentOS 6.2 x86_64 that does not exhibit the problem, but nevertheless, there is a flaw in the code that goes back many generations.
My company's production system had been running Asterisk 1.6.2.11-rc2 for several years under Fedora Core 5. I wanted to use some of the newer features in Asterisk 1.8, so I installed the latest version. However, when I tried placing a call, it would not go through.
The console showed:
auto fallthrough, channel 'SIP/131-00000005' status is 'UNKNOWN'
My dialplan uses the i extension in several places and this was happening right where it should have dispatched extension i. Once I applied the one line patch I am submitting, the problem went away.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the asterisk-bugs
mailing list