app_queue: Fix crash when using 'b' option on non-ringall queue.
authorJoshua Colp <jcolp@digium.com>
Wed, 2 Jan 2019 17:33:58 +0000 (17:33 +0000)
committerJoshua C. Colp <jcolp@digium.com>
Wed, 2 Jan 2019 17:35:27 +0000 (12:35 -0500)
When using the 'b' option to Queue with a queue that was not configured
for ring all a crash would occur as the wrong pointer would be used.

ASTERISK-28218

Change-Id: If1390f64e321047dff24fd2410c95dde74904980

apps/app_queue.c

index 264b54f..60be305 100644 (file)
@@ -4667,7 +4667,7 @@ static int ring_one(struct queue_ent *qe, struct callattempt *outgoing, int *bus
                        /* Ring just the best channel */
                        ast_debug(1, "Trying '%s' with metric %d\n", best->interface, best->metric);
                        ret = ring_entry(qe, best, busies);
-                       if (qe->predial_callee && cur->chan) {
+                       if (qe->predial_callee && best->chan) {
                                ast_autoservice_start(best->chan);
                        }
                }