amoralej / rpms / 389-ds-base

Forked from rpms/389-ds-base 5 years ago
Clone

Blame SOURCES/0069-fix-for-reg-in-49008-check-if-ruv-element-exists.patch

723150
From 7a5d77d8a65d65ed7c5fa94abf952669993f45c2 Mon Sep 17 00:00:00 2001
723150
From: Ludwig Krispenz <lkrispen@redhat.com>
723150
Date: Tue, 7 Feb 2017 17:02:00 +0100
723150
Subject: [PATCH] fix for reg in 49008, check if ruv element exists
723150
723150
(cherry picked from commit 23d98baa8aadab80691680ba065563ad1e35591c)
723150
---
723150
 ldap/servers/plugins/replication/repl5_ruv.c | 10 ++++++++--
723150
 1 file changed, 8 insertions(+), 2 deletions(-)
723150
723150
diff --git a/ldap/servers/plugins/replication/repl5_ruv.c b/ldap/servers/plugins/replication/repl5_ruv.c
723150
index c2d3bb4..5086313 100644
723150
--- a/ldap/servers/plugins/replication/repl5_ruv.c
723150
+++ b/ldap/servers/plugins/replication/repl5_ruv.c
723150
@@ -1703,8 +1703,14 @@ int ruv_cancel_csn_inprogress (RUV *ruv, const CSN *csn, ReplicaId local_rid)
723150
 	replica = ruvGetReplica (ruv, prim_rid);
723150
 	rc = csnplRemoveAll (replica->csnpl, prim_csn);
723150
 	if (prim_rid != local_rid) {
723150
-		replica = ruvGetReplica (ruv, local_rid);
723150
-		rc = csnplRemoveAll (replica->csnpl, prim_csn);
723150
+		if( local_rid != READ_ONLY_REPLICA_ID) {
723150
+			replica = ruvGetReplica (ruv, local_rid);
723150
+			if (replica) {
723150
+				rc = csnplRemoveAll (replica->csnpl, prim_csn);
723150
+			} else {
723150
+				rc = RUV_NOTFOUND;
723150
+			}
723150
+		}
723150
 	}
723150
     } else {
723150
 	rc = csnplRemove (replica->csnpl, csn);
723150
-- 
723150
2.7.4
723150