[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:45 CST 2011


The following issue has been RESOLVED. 
====================================================================== 
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:                     resolved
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:              
Resolution:                 fixed
Fixed in Version:           
====================================================================== 
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.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-02-04 13:21 svnbot         Status                   ready for review =>
assigned
2011-02-04 13:21 svnbot         Status                   assigned => resolved
2011-02-04 13:21 svnbot         Resolution               open => fixed       
======================================================================




More information about the asterisk-bugs mailing list