[asterisk-bugs] [Asterisk 0017970]: [patch] res_agi.c:handle_getvariablefull() failes to unlock channel if given channel name of the channel that AGI is running on

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Sep 8 12:28:56 CDT 2010


The following issue has been UPDATED. 
====================================================================== 
https://issues.asterisk.org/view.php?id=17970 
====================================================================== 
Reported By:                mdu113
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   17970
Category:                   Resources/res_agi
Reproducibility:            always
Severity:                   block
Priority:                   normal
Status:                     new
Asterisk Version:           SVN 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases):  1.4  
SVN Revision (number only!): 285365 
Request Review:              
====================================================================== 
Date Submitted:             2010-09-08 12:26 CDT
Last Modified:              2010-09-08 12:28 CDT
====================================================================== 
Summary:                    [patch] res_agi.c:handle_getvariablefull() failes to
unlock channel if given channel name of the channel that AGI is running on
Description: 
AGI command GET FULL VARIABLE supports operating on a channel given as a
channel name and it is perfectly OK to supply channel name of the channel
it's running on, i.e. perl example would be:


my $channel=$agi->get_variable("CHANNEL");
my $res=$agi->get_full_variable("somevar",$channel)

In this case handle_getvariablefull() fails to unlock channel resulting in
deadlocked asterisk. It fails to unlock it because condition at line 1254
of res_agi.c in this case evaluates to false (chan2 is actually == chan)
I've attached a simple patch to fix it
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-09-08 12:28 mdu113         Summary                 
res_agi.c:handle_getvariablefull() failes to unlock channel if given channel
name of the channel that AGI is running on => [patch]
res_agi.c:handle_getvariablefull() failes to unlock channel if given channel
name of the channel that AGI is running on
======================================================================




More information about the asterisk-bugs mailing list