[asterisk-bugs] [Asterisk 0018499]: [patch] Fallthrough in get_member_status can cause unwarranted exit from queue

Asterisk Bug Tracker noreply at bugs.digium.com
Fri Feb 4 13:21:44 CST 2011


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=18499 
====================================================================== 
Reported By:                zaltar
Assigned To:                qwell
====================================================================== 
Project:                    Asterisk
Issue ID:                   18499
Category:                   Applications/app_queue
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     ready for review
Target Version:             1.8.4
Asterisk Version:           SVN 
JIRA:                       SWP-2767 
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 299001 
Request Review:              
====================================================================== 
Date Submitted:             2010-12-19 01:06 CST
Last Modified:              2011-02-04 13:21 CST
====================================================================== 
Summary:                    [patch] Fallthrough in get_member_status can cause
unwarranted exit from queue
Description: 
The case statement for AST_DEVICE_RINGING can fallthrough to the
AST_DEVICE_UNKNOWN state, which can incorrectly cause a caller to be
removed from the queue because it will match the conditions for being
empty.

To reproduce:
Set leavewhenempty for the queue to at least include unknown
Have an agent timeout in the queue
So, in queues.conf:
leavewhenempty = unknown
timeout = 15

Add one agent to the queue, unpaused and available.
Call into the queue, but let the agent timeout.

The call will end up exiting the queue because the agent's state is
Ringing, but it will fall through to the Unknown case statement causing the
queue to believe it is empty.

Patch is simple one line fix to add the same goto default_case that is in
all the other cases.
====================================================================== 

---------------------------------------------------------------------- 
 (0131512) svnbot (reporter) - 2011-02-04 13:21
 https://issues.asterisk.org/view.php?id=18499#c131512 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 306346

U   branches/1.6.2/apps/app_queue.c

------------------------------------------------------------------------
r306346 | qwell | 2011-02-04 13:21:44 -0600 (Fri, 04 Feb 2011) | 9 lines

Don't fallthrough to 'unknown' in the 'ringing' case.

This could cause improper exits from the queue.

(closes issue https://issues.asterisk.org/view.php?id=18499)
Reported by: zaltar
Patches: 
      app_queue.patch uploaded by zaltar (license 1148)

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

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

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-02-04 13:21 svnbot         Checkin                                      
2011-02-04 13:21 svnbot         Note Added: 0131512                          
======================================================================




More information about the asterisk-bugs mailing list