From 5eb5c8f89de7ec135b83aad7755a10083bc3cbce Mon Sep 17 00:00:00 2001 From: Vlad Patrascu Date: Mon, 20 Sep 2021 14:52:48 +0300 Subject: [PATCH] dialog: complete fix from previous commit --- modules/dialog/dlg_replication.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/modules/dialog/dlg_replication.c b/modules/dialog/dlg_replication.c index fd54e99016d..d5aac5d3dc4 100644 --- a/modules/dialog/dlg_replication.c +++ b/modules/dialog/dlg_replication.c @@ -655,7 +655,8 @@ int dlg_replicated_cseq_updated(bin_packet_t *packet) if (!match_dialog(dlg, &call_id, &from_tag, &to_tag, &dir, &dst_leg)) { LM_ERR("Failed to match dialog\n"); - goto err_unlock; + dlg_unlock(d_table, d_entry); + return -1; } dlg_unlock(d_table, d_entry); @@ -670,7 +671,7 @@ int dlg_replicated_cseq_updated(bin_packet_t *packet) return 0; } - DLG_BIN_POP(int, packet, cseq, err_unlock); + DLG_BIN_POP(int, packet, cseq, malformed); dlg->legs[dst_leg].last_gen_cseq = cseq; if (pkg_ver != DLG_BIN_V4) @@ -680,10 +681,6 @@ int dlg_replicated_cseq_updated(bin_packet_t *packet) malformed: LM_ERR("malformed cseq update packet for %.*s\n", call_id.len, call_id.s); return -1; -err_unlock: - if (pkg_ver == DLG_BIN_V4) - dlg_unlock(d_table, d_entry); - return -1; } #undef DLG_BIN_POP