]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
app_queue: (try_calling): mutex 'qe->chan' freed more times than we've locked! 38/1638/1
authorAlec Davis <sivad.a@paradise.net.nz>
Mon, 16 Nov 2015 10:29:25 +0000 (23:29 +1300)
committerMark Michelson <mmichelson@digium.com>
Mon, 16 Nov 2015 19:23:05 +0000 (13:23 -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 6dfb14356f670dee056833c14a4b5e3c4b3f66e7..5a8dcd24655d32af7b2e668e9504dbe2ced9d165 100644 (file)
@@ -6500,7 +6500,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);