From 31b5da836dc0ed26e6142aefa3e6adfd10bda616 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 (cherry picked from commit 0a7812aed5f9f5d6d09463732e1441f343a91a8c) --- 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 9d73bbb6f..afe5b761b 100644 --- a/daemon/call_interfaces.c +++ b/daemon/call_interfaces.c @@ -1964,7 +1964,7 @@ static const char *call_offer_answer_ng(struct ng_buffer *ngbuf, bencode_item_t AUTO_CLEANUP(str sdp, str_free_dup) = 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; AUTO_CLEANUP(struct sdp_ng_flags flags, call_ng_free_flags); @@ -2048,8 +2048,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; } @@ -2101,6 +2099,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);