From cbe93b4bd4569181db85aeac501798985d7d1acd Mon Sep 17 00:00:00 2001 From: Thierry Bordaz Date: Fri, 24 Jan 2020 10:56:23 +0100 Subject: [PATCH] Ticket 50709: (cont) Several memory leaks reported by Valgrind for 389-ds 1.3.9.1-10 Bug Description: Cherry pick from master was broken because connection locking uses pthread lock in master while it remains Monitor in 1.3.10 Fix Description: Change the locking function to use Monitor in that branch https://pagure.io/389-ds-base/issue/50709 Reviewed by: thierry bordaz Platforms tested: 7.8 Flag Day: no Doc impact: no --- ldap/servers/slapd/pblock.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ldap/servers/slapd/pblock.c b/ldap/servers/slapd/pblock.c index d2ad6147a..d21cf7e76 100644 --- a/ldap/servers/slapd/pblock.c +++ b/ldap/servers/slapd/pblock.c @@ -486,9 +486,9 @@ slapi_pblock_get(Slapi_PBlock *pblock, int arg, void *value) if (pblock->pb_conn == NULL) { break; } - pthread_mutex_lock(&(pblock->pb_conn->c_mutex)); + PR_EnterMonitor(pblock->pb_conn->c_mutex); (*(PRNetAddr **) value) = pblock->pb_conn->cin_addr_aclip; - pthread_mutex_unlock(&(pblock->pb_conn->c_mutex)); + PR_ExitMonitor(pblock->pb_conn->c_mutex); break; case SLAPI_CONN_SERVERNETADDR: if (pblock->pb_conn == NULL) { @@ -2583,10 +2583,10 @@ slapi_pblock_set(Slapi_PBlock *pblock, int arg, void *value) if (pblock->pb_conn == NULL) { break; } - pthread_mutex_lock(&(pblock->pb_conn->c_mutex)); + PR_EnterMonitor(pblock->pb_conn->c_mutex); slapi_ch_free((void **)&pblock->pb_conn->cin_addr_aclip); pblock->pb_conn->cin_addr_aclip = (PRNetAddr *)value; - pthread_mutex_unlock(&(pblock->pb_conn->c_mutex)); + PR_ExitMonitor(pblock->pb_conn->c_mutex); case SLAPI_CONN_IS_REPLICATION_SESSION: if (pblock->pb_conn == NULL) { slapi_log_err(SLAPI_LOG_ERR, -- 2.24.1