app_queue: (try_calling): mutex 'qe->chan' freed more times than we've locked!
authorAlec Davis <sivad.a@paradise.net.nz>
Wed, 18 Nov 2015 06:20:22 +0000 (19:20 +1300)
committerAlec Davis <sivad.a@paradise.net.nz>
Wed, 18 Nov 2015 06:21:54 +0000 (19:21 +1300)
commit aae45acbd (Mark Michelson 2015-04-15 10:38:02 -0500 6525)
refer ASTERISK-24958

above commit removed ast_channel_lock(qe->chan);
but failed to remove corresponding ast_channel_unlock(qe->chan);

ASTERISK-25561 #close
Reported Alec Davis

Change-Id: Ie05f4e2d08912606178bf1fded57cc022c7a2e1a

apps/app_queue.c

index 862988b..234543f 100644 (file)
@@ -6523,7 +6523,6 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
                ast_test_flag(&(bridge_config.features_caller), AST_FEATURE_DISCONNECT),
                forwardsallowed, ringing);
 
-       ast_channel_unlock(qe->chan);
        ao2_lock(qe->parent);
        if (qe->parent->strategy == QUEUE_STRATEGY_RRMEMORY || qe->parent->strategy == QUEUE_STRATEGY_RRORDERED) {
                store_next_rr(qe, outgoing);