From a85f578b0f8872266d076a558cf62812ddc340d1 Mon Sep 17 00:00:00 2001
From: Quanah Gibson-Mount <quanah@openldap.org>
Date: Mon, 10 Nov 2008 20:34:55 +0000
Subject: [PATCH] ITS#5776

---
 CHANGES                           | 1 +
 servers/slapd/overlays/syncprov.c | 4 ++++
 2 files changed, 5 insertions(+)

diff --git a/CHANGES b/CHANGES
index 673776c4c7..658c98b8e1 100644
--- a/CHANGES
+++ b/CHANGES
@@ -33,6 +33,7 @@ OpenLDAP 2.4.13 Engineering
 	Fixed slapo-rwm rewriting undefined filter (ITS#5731)
 	Fixed slapo-rwm rewritten DN-valued attrs (ITS#5772)
 	Fixed slapo-rwm reusing freed filter (ITS#5732)
+	Fixed slapo-syncprov runqueue removal (ITS#5776)
 	Added slapo-translucent try local bind when remote fails (ITS#5656)
 	Added slapo-translucent support for PasswordModify exop (ITS#5656)
 	Fixed tools simple bind without SASL (ITS#5753)
diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c
index db113f042b..7aaa5f9c67 100644
--- a/servers/slapd/overlays/syncprov.c
+++ b/servers/slapd/overlays/syncprov.c
@@ -908,6 +908,10 @@ syncprov_qplay( Operation *op, struct re_s *rtask )
 	} else {
 		/* bail out on any error */
 		ldap_pvt_runqueue_remove( &slapd_rq, rtask );
+
+		/* Prevent duplicate remove */
+		if ( so->s_qtask == rtask )
+			so->s_qtask = NULL;
 	}
 	ldap_pvt_thread_mutex_unlock( &slapd_rq.rq_mutex );
 	ldap_pvt_thread_mutex_unlock( &so->s_mutex );
-- 
GitLab