[Home]

Summary:ASTERISK-18560: Crash while executing macro with CALLERID(num) is empty
Reporter:a4101287 (a4101287)Labels:
Date Opened:2011-09-15 08:15:45Date Closed:2011-09-19 14:41:55
Priority:CriticalRegression?Yes
Status:Closed/CompleteComponents:PBX/pbx_config
Versions:1.8.6.0 Frequency of
Occurrence
Constant
Related
Issues:
duplicatesASTERISK-18392 Segmentation fault on Caller ID pattern matching when Caller ID is empty
Environment:Attachments:
Description:When i execute a macro, with a pattern check for the callerid in it, Asterisk crashes when that callerid is empty. If the callerid is not empty all is working well.
This crash doesn't occur on Asterisk 1.6.2.16.2.
I have attached parts of the dialplan and the CLI results of a crash (callerid empty) and no crash (callerid test).



##############################################
# Example crash
##############################################


[testcontext]
;...
       exten=>_X.,n,set(CALLERID(name)=test)
       exten=>_X.,n,set(CALLERID(num)=)
       exten=>_X.,n,macro(crash)
       exten=>_X.,n,noop(still alive!)
;...



[macro-crash]
exten => s/_X.,1,noop(crash)
exten => s,1,noop(hi)



##############################################



   -- Executing [1234567890@testcontext:10] Set("SIP/testuser-00000000", "CALLERID(name)=test") in new stack
   -- Executing [1234567890@testcontext:11] Set("SIP/testuser-00000000", "CALLERID(num)=") in new stack
   -- Executing [1234567890@testcontext:12] Macro("SIP/testuser-00000000", "crash") in new stack
testasterisk*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
Asterisk ending (0).



##############################################



##############################################
# Example no crash
##############################################



[testcontext]
;...
       exten=>_X.,n,set(CALLERID(name)=test)
       exten=>_X.,n,set(CALLERID(num)=test)
       exten=>_X.,n,macro(crash)
       exten=>_X.,n,noop(still alive!)
;...



[macro-crash]
exten => s/_X.,1,noop(crash)
exten => s,1,noop(hi)



   -- Executing [1234567890@testcontext:10] Set("SIP/testuser-00000000", "CALLERID(name)=test") in new stack
   -- Executing [1234567890@testcontext:11] Set("SIP/testuser-00000000", "CALLERID(num)=test") in new stack
   -- Executing [1234567890@testcontext:12] Macro("SIP/testuser-00000000", "crash") in new stack
   -- Executing [s@macro-crash:1] NoOp("SIP/testuser-00000000", "hi") in new stack
   -- Executing [1234567890@testcontext:13] NoOp("SIP/testuser-00000000", "still alive!") in new stack



##############################################
Comments:By: Leif Madsen (lmadsen) 2011-09-19 14:41:55.107-0500

Closed as a duplicate.