Module: kamailio Branch: 5.8 Commit: 814f5bdc9ee5d4594ffb0fd72843bca7b5fa79ea URL: https://github.com/kamailio/kamailio/commit/814f5bdc9ee5d4594ffb0fd72843bca7...
Author: Victor Seva linuxmaniac@torreviejawireless.org Committer: Victor Seva linuxmaniac@torreviejawireless.org Date: 2024-03-23T00:09:22+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)
---
Modified: src/modules/dmq/notification_peer.c
---
Diff: https://github.com/kamailio/kamailio/commit/814f5bdc9ee5d4594ffb0fd72843bca7... Patch: https://github.com/kamailio/kamailio/commit/814f5bdc9ee5d4594ffb0fd72843bca7...
---
diff --git a/src/modules/dmq/notification_peer.c b/src/modules/dmq/notification_peer.c index 6189acf5359..5e9452a51f3 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) {