Module: kamailio Branch: master Commit: 0d240e4e0dc3184ef37d338ba6872d295d6b16f2 URL: https://github.com/kamailio/kamailio/commit/0d240e4e0dc3184ef37d338ba6872d29...
Author: Victor Seva linuxmaniac@torreviejawireless.org Committer: Victor Seva linuxmaniac@torreviejawireless.org Date: 2024-03-23T00:00:44+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()
---
Modified: src/modules/dmq/notification_peer.c
---
Diff: https://github.com/kamailio/kamailio/commit/0d240e4e0dc3184ef37d338ba6872d29... Patch: https://github.com/kamailio/kamailio/commit/0d240e4e0dc3184ef37d338ba6872d29...
---
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) {