]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
app_queue: (try_calling): mutex 'qe->chan' freed more times than we've locked! 41/1641/1
authorAlec Davis <sivad.a@paradise.net.nz>
Mon, 16 Nov 2015 10:29:25 +0000 (23:29 +1300)
committerAlec Davis <sivad.a@paradise.net.nz>
Mon, 16 Nov 2015 20:38:58 +0000 (14:38 -0600)
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 2dcb3b5c2f6ca547c1cb7ff95a1b7f479cb38eb7..99a2b6c768486a38cb364521c4a6a7117c0f6d34 100644 (file)
@@ -6472,7 +6472,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);