Module: kamailio
Branch: 6.0
Commit: 9c6fbd3b139d9e48b7cc2323f3b902773f181c83
URL: 
https://github.com/kamailio/kamailio/commit/9c6fbd3b139d9e48b7cc2323f3b902773f181c83

Author: Victor Seva <linuxman...@torreviejawireless.org>
Committer: Victor Seva <linuxman...@torreviejawireless.org>
Date: 2025-07-15T09:13:43+02:00

cdp: cdp_rpc_list_peers() release lock on errors

(cherry picked from commit 7f078931d3d684822e90485024672632be29741c)

---

Modified: src/modules/cdp/cdp_rpc.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/9c6fbd3b139d9e48b7cc2323f3b902773f181c83.diff
Patch: 
https://github.com/kamailio/kamailio/commit/9c6fbd3b139d9e48b7cc2323f3b902773f181c83.patch

---

diff --git a/src/modules/cdp/cdp_rpc.c b/src/modules/cdp/cdp_rpc.c
index 8df60230c51..55ce61a6363 100644
--- a/src/modules/cdp/cdp_rpc.c
+++ b/src/modules/cdp/cdp_rpc.c
@@ -99,6 +99,7 @@ static void cdp_rpc_list_peers(rpc_t *rpc, void *ctx)
                        rpc->fault(
                                        ctx, 500, "Internal error creating 
peers container struct");
                        lock_release(i->lock);
+                       lock_release(peer_list_lock);
                        return;
                }
                if(rpc->struct_add(peerdetail_container, "ssL", "State",
@@ -109,6 +110,7 @@ static void cdp_rpc_list_peers(rpc_t *rpc, void *ctx)
                        rpc->fault(ctx, 500,
                                        "Internal error creating peer detail 
container struct");
                        lock_release(i->lock);
+                       lock_release(peer_list_lock);
                        return;
                }
                if(rpc->struct_add(peerdetail_container, "{", "Applications",
@@ -118,6 +120,7 @@ static void cdp_rpc_list_peers(rpc_t *rpc, void *ctx)
                                        "Internal error creating peer 
application container "
                                        "struct");
                        lock_release(i->lock);
+                       lock_release(peer_list_lock);
                        return;
                }
 
@@ -130,6 +133,7 @@ static void cdp_rpc_list_peers(rpc_t *rpc, void *ctx)
                                rpc->fault(ctx, 500,
                                                "Internal error creating 
appid/vendorid information");
                                lock_release(i->lock);
+                               lock_release(peer_list_lock);
                                return;
                        }
                }

_______________________________________________
Kamailio - Development Mailing List -- sr-dev@lists.kamailio.org
To unsubscribe send an email to sr-dev-le...@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the 
sender!

Reply via email to