From 0a7812aed5f9f5d6d09463732e1441f343a91a8c Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Tue, 5 Dec 2023 12:15:29 -0500 Subject: [PATCH] MT#55283 fix missing unlock Change-Id: I2ce02e92debce0ba33b6a271ba831d7ba67e622b --- daemon/call_interfaces.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/daemon/call_interfaces.c b/daemon/call_interfaces.c index a96c0100a..6b8bdfdaf 100644 --- a/daemon/call_interfaces.c +++ b/daemon/call_interfaces.c @@ -1971,7 +1971,7 @@ static const char *call_offer_answer_ng(struct ng_buffer *ngbuf, bencode_item_t g_auto(str) sdp = STR_NULL; AUTO_CLEANUP(GQueue parsed, sdp_free) = G_QUEUE_INIT; AUTO_CLEANUP(GQueue streams, sdp_streams_free) = G_QUEUE_INIT; - struct call *call; + AUTO_CLEANUP_NULL(struct call *call, call_unlock_release); struct call_monologue * monologues[2]; int ret; g_auto(sdp_ng_flags) flags; @@ -2055,8 +2055,6 @@ static const char *call_offer_answer_ng(struct ng_buffer *ngbuf, bencode_item_t errstr = "Invalid dialogue association"; if (call_get_mono_dialogue(monologues, call, &flags.from_tag, &flags.to_tag, flags.via_branch.s ? &flags.via_branch : NULL)) { - rwlock_unlock_w(&call->master_lock); - obj_put(call); goto out; } @@ -2108,6 +2106,7 @@ static const char *call_offer_answer_ng(struct ng_buffer *ngbuf, bencode_item_t ilog(LOG_DEBUG, "Not updating Redis due to present no-redis-update flag"); } obj_put(call); + call = NULL; gettimeofday(&(from_ml->started), NULL);