[asterisk-bugs] [Asterisk 0014478]: Blind transfer to parking from SIP phone crashes Asterisk

Asterisk Bug Tracker noreply at bugs.digium.com
Thu Feb 19 11:40:48 CST 2009


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=14478 
====================================================================== 
Reported By:                erik_dedecker
Assigned To:                jpeeler
====================================================================== 
Project:                    Asterisk
Issue ID:                   14478
Category:                   Features/Parking
Reproducibility:            always
Severity:                   crash
Priority:                   normal
Status:                     acknowledged
Asterisk Version:           1.6.0.5 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2009-02-14 06:22 CST
Last Modified:              2009-02-19 11:40 CST
====================================================================== 
Summary:                    Blind transfer to parking from SIP phone crashes
Asterisk
Description: 
ested with SIP phone Thomson ST2030 firmware V1.66 (and others)

After a BLIND transfer to a parking lot, using the phone transfer button,
the ST2030 hangsup the call ( channel status is AST_CAUSE_NORMAL_CLEARING
16)

Two issues arise : 

1. the saydigits application (ast_say_digits line 502 in features.c)
announcing the parking lot, tries to acces a hangup channel and crashes
Asterisk.

2. If this line is commented to avoid the issue, chan_sip.c tries to free
the allocated channel structures ( ast_free(d->req.data)lines 15901 150903
in chan_sip.c) and crashes Asterisk with a glibc free() error.

Before making any suggestions on how to correct the issue I would like to
have your advise on how avoid the crash by testing the channel status
before calling ast_say_digits and ast_free(d->req.data)

Testing d->chan2->hangupcause and not calling free() may not be the
solution because the channel still hangs arround. You can check this at the
CLI with core show channels. At a stop now it will eventually clear but its
not nice to have zombies hanging around !

Thanks in advance  

Erik


====================================================================== 

---------------------------------------------------------------------- 
 (0100388) svnbot (reporter) - 2009-02-19 11:40
 http://bugs.digium.com/view.php?id=14478#c100388 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 177445

U   branches/1.6.0/channels/chan_sip.c

------------------------------------------------------------------------
r177445 | jpeeler | 2009-02-19 11:40:47 -0600 (Thu, 19 Feb 2009) | 6 lines

Remove invalid ast_free calls for static character arrays

(issue http://bugs.digium.com/view.php?id=14478)
Reported by: erik_dedecker


------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=177445 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-02-19 11:40 svnbot         Checkin                                      
2009-02-19 11:40 svnbot         Note Added: 0100388                          
======================================================================




More information about the asterisk-bugs mailing list