[asterisk-bugs] [Asterisk 0013898]: [patch] Limit connect file and others will not play warnings

Asterisk Bug Tracker noreply at bugs.digium.com
Sun Nov 16 11:15:33 CST 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=13898 
====================================================================== 
Reported By:                alecdavis
Assigned To:                Corydon76
====================================================================== 
Project:                    Asterisk
Issue ID:                   13898
Category:                   Applications/app_dial
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     ready for testing
Asterisk Version:           SVN 
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 155671 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             2008-11-13 19:11 CST
Last Modified:              2008-11-16 11:15 CST
====================================================================== 
Summary:                    [patch] Limit connect file and others will not play
warnings
Description: 
LIMIT_CONNECT_FILE
LIMIT_WARNING_FILE
LIMIT_TIMEOUT_FILE

All appear to have corrupt pointers when the time comes to play the file.
They show correctly for the call.

The test macro limits the call to 20 seconds, warning at 15, frequency 10
seconds. (Note to myself, frequency too long!)
====================================================================== 

---------------------------------------------------------------------- 
 (0094933) Corydon76 (administrator) - 2008-11-16 11:15
 http://bugs.digium.com/view.php?id=13898#c94933 
---------------------------------------------------------------------- 
The issue is that the pointer (to a linked list item) was otherwise saved
past the point when the channel was unlocked.  At any point following,
prior to the use of that variable, that item could be removed from the list
and deallocated (this is how channel variables are set: the previous value
is removed from the list and deallocated, the new value is prepended to the
head of the list).

So, if you want that value beyond the point where the channel is unlocked,
you need to create a private copy of it.  This is what the previous code
was doing (incorrectly, as you found out) and this is what the updated
patch that I provided does, as well. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2008-11-16 11:15 Corydon76      Note Added: 0094933                          
======================================================================




More information about the asterisk-bugs mailing list