Module: kamailio
Branch: 5.7
Commit: 0a96c9f4fb3bf179d417b0188d619afd7d9096ef
URL:
https://github.com/kamailio/kamailio/commit/0a96c9f4fb3bf179d417b0188d619af…
Author: Victor Seva <linuxmaniac(a)torreviejawireless.org>
Committer: Victor Seva <linuxmaniac(a)torreviejawireless.org>
Date: 2024-03-23T00:10:01+01:00
dmq: fix inter-lock on error
triggered by intermittent DNS resolution error. dmq workers
were getting locked at dmq_notification_callback_f() due to
this missing lock_release()
(cherry picked from commit 0d240e4e0dc3184ef37d338ba6872d295d6b16f2)
(cherry picked from commit 814f5bdc9ee5d4594ffb0fd72843bca7b5fa79ea)
---
Modified: src/modules/dmq/notification_peer.c
---
Diff:
https://github.com/kamailio/kamailio/commit/0a96c9f4fb3bf179d417b0188d619af…
Patch:
https://github.com/kamailio/kamailio/commit/0a96c9f4fb3bf179d417b0188d619af…
---
diff --git a/src/modules/dmq/notification_peer.c b/src/modules/dmq/notification_peer.c
index b2470d5ff86..c62eefb1855 100644
--- a/src/modules/dmq/notification_peer.c
+++ b/src/modules/dmq/notification_peer.c
@@ -405,8 +405,10 @@ int extract_node_list(dmq_node_list_t *update_list, struct sip_msg
*msg)
/* trim the \r, \n and \0's */
trim_r(tmp_uri);
find = build_dmq_node(&tmp_uri, 0);
- if(find == NULL)
- return -1;
+ if(find == NULL) {
+ LM_ERR("error building dmq node\n");
+ goto error;
+ }
ret = find_dmq_node(update_list, find);
if(!ret) {
LM_DBG("found new node %.*s\n", STR_FMT(&tmp_uri));