andykimpe / rpms / 389-ds-base

Forked from rpms/389-ds-base 5 months ago
Clone
dc8c34
From 9b6178ab7776885a73f76faf1e070086f07283d9 Mon Sep 17 00:00:00 2001
dc8c34
From: Noriko Hosoi <nhosoi@redhat.com>
dc8c34
Date: Thu, 7 Jan 2016 18:04:19 -0800
dc8c34
Subject: [PATCH 372/375] Revert "Ticket #48338 - SimplePagedResults -- abandon
dc8c34
 could happen between the abandon check and sending results"
dc8c34
dc8c34
This reverts commit 79ca67d1fc5d50d8a9ae6b686b9564f3960f8592.
dc8c34
dc8c34
The commit caused the bug 1296694 - ns-slapd crash in ipa context -
dc8c34
c_mutex lock memory corruption and self locks
dc8c34
dc8c34
(cherry picked from commit 181847863bda74c2e3d77b6a7d9278350d50d4cc)
dc8c34
(cherry picked from commit c8b1817896af7db6e4fab42734b827e002a7a25b)
dc8c34
(cherry picked from commit 61c3ff6ae654f9e0617741ee504f382fe78ee452)
dc8c34
(cherry picked from commit bab6ec6554b6f9da5dd734b1dcf5de2a382edfa8)
dc8c34
---
dc8c34
 ldap/servers/slapd/pblock.c | 6 ++++--
dc8c34
 1 file changed, 4 insertions(+), 2 deletions(-)
dc8c34
dc8c34
diff --git a/ldap/servers/slapd/pblock.c b/ldap/servers/slapd/pblock.c
dc8c34
index 4e57fc3..b12881b 100644
dc8c34
--- a/ldap/servers/slapd/pblock.c
dc8c34
+++ b/ldap/servers/slapd/pblock.c
dc8c34
@@ -251,12 +251,14 @@ slapi_pblock_get( Slapi_PBlock *pblock, int arg, void *value )
dc8c34
 			memset( value, 0, sizeof( PRNetAddr ));
dc8c34
 			break;
dc8c34
 		}
dc8c34
-		/* For fields with atomic access, remove the PR_Lock(c_mutex) */
dc8c34
+		PR_Lock( pblock->pb_conn->c_mutex );
dc8c34
 		if ( pblock->pb_conn->cin_addr == NULL ) {
dc8c34
 			memset( value, 0, sizeof( PRNetAddr ));
dc8c34
 		} else {
dc8c34
-			(*(PRNetAddr *)value) = *(pblock->pb_conn->cin_addr);
dc8c34
+			(*(PRNetAddr *)value) =
dc8c34
+			    *(pblock->pb_conn->cin_addr);
dc8c34
 		}
dc8c34
+		PR_Unlock( pblock->pb_conn->c_mutex );
dc8c34
 		break;
dc8c34
 	case SLAPI_CONN_SERVERNETADDR:
dc8c34
 		if (pblock->pb_conn == NULL)
dc8c34
-- 
dc8c34
2.4.3
dc8c34