[Home]

Summary:ASTERISK-10975: IF() function crashes when using invalid syntax
Reporter:Jon Webster (jon)Labels:
Date Opened:2007-12-04 16:20:10.000-0600Date Closed:2011-06-07 14:00:41
Priority:CriticalRegression?No
Status:Closed/CompleteComponents:Functions/func_logic
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:The tests go fine until I tried something that is clearly invalid IF syntax such as ${IF(0:false)} down at priority 11.

Those admins, always doing things they arn't supposed to...

Now, if you tried console dial 401@local asterisk crashes.
When you do it from a phone asterisk does not crash until you do something like 'show function IF'

****** ADDITIONAL INFORMATION ******

[local]
exten => 401,1,NoOp(1?true:false  ${IF(1?true:false)})
exten => 401,n,NoOp(0?true:false  ${IF(0?true:false)})
exten => 401,n,NoOp(true?true:false  ${IF(true?true:false)})
exten => 401,n,NoOp(false?true:false  ${IF(false?true:false)})
exten => 401,n,NoOp(true?true  ${IF(true?true)})
exten => 401,n,NoOp(false?true  ${IF(false?true)})
exten => 401,n,NoOp(0?true  ${IF(0?true)})
exten => 401,n,NoOp(1?true  ${IF(1?true)})
exten => 401,n,NoOp(true:false  ${IF(true:false)})
exten => 401,n,NoOp(false:false  ${IF(false:false)})
exten => 401,n,NoOp(0:false  ${IF(0:false)})
exten => 401,n,NoOp(1:false  ${IF(1:false)})


   -- Executing [401@local:1] NoOp("SIP/office2-083f6fc0", "1?true:false  true") in new stack
   -- Executing [401@local:2] NoOp("SIP/office2-083f6fc0", "0?true:false  false") in new stack
   -- Executing [401@local:3] NoOp("SIP/office2-083f6fc0", "true?true:false  true") in new stack
   -- Executing [401@local:4] NoOp("SIP/office2-083f6fc0", "false?true:false  true") in new stack
   -- Executing [401@local:5] NoOp("SIP/office2-083f6fc0", "true?true  true") in new stack
   -- Executing [401@local:6] NoOp("SIP/office2-083f6fc0", "false?true  true") in new stack
   -- Executing [401@local:7] NoOp("SIP/office2-083f6fc0", "0?true  ") in new stack
   -- Executing [401@local:8] NoOp("SIP/office2-083f6fc0", "1?true  true") in new stack
   -- Executing [401@local:9] NoOp("SIP/office2-083f6fc0", "true:false  ue:false") in new stack
   -- Executing [401@local:10] NoOp("SIP/office2-083f6fc0", "false:false  lse:false") in new stack
   -- Executing [401@local:11] NoOp("SIP/office2-083f6fc0", "0:false  a#┬ÂTe#") in new stack
   -- Executing [401@local:12] NoOp("SIP/office2-083f6fc0", "1:false  false") in new stack

Comments:By: Russell Bryant (russell) 2007-12-04 16:39:59.000-0600

I think this has already been fixed.  Please try with the latest version ...

By: Jon Webster (jon) 2007-12-04 16:56:21.000-0600

Confirmed it was fixed in 1.4.14.

My apologies, I looked for an easy fix in the svn 1.4 branch instead of the code that was actually in use...

By: Jason Parker (jparker) 2007-12-04 16:58:34.000-0600

Already fixed in 1.4.15.