File 0013-fix-modrdn-with-empty-olddn-ITS-6768-dif of Package openldap2.import4093

From 65dd46e08db6fb93c7e5515c2ced2f0f444f241d Mon Sep 17 00:00:00 2001
From: quanah <quanah>
Date: Tue, 4 Jan 2011 19:44:43 +0000
Subject: fix modrdn with empty olddn (ITS#6768)

slapd crashes when processing a modrdn operation with an empty olddn
parameter and "remove old DN" enabled. (bnc#674985)

diff --git a/servers/slapd/modrdn.c b/servers/slapd/modrdn.c
index e2e4bf0..562da72 100644
--- a/servers/slapd/modrdn.c
+++ b/servers/slapd/modrdn.c
@@ -392,7 +392,9 @@ slap_modrdn2mods(
 	LDAPRDN		new_rdn = NULL;
 
 	assert( !BER_BVISEMPTY( &op->oq_modrdn.rs_newrdn ) );
-	assert( !op->orr_deleteoldrdn || !BER_BVISEMPTY( &op->o_req_dn ) );
+
+	/* if requestDN is empty, silently reset deleteOldRDN */
+	if ( BER_BVISEMPTY( &op->o_req_dn ) ) op->orr_deleteoldrdn = 0;
 
 	if ( ldap_bv2rdn_x( &op->oq_modrdn.rs_newrdn, &new_rdn,
 		(char **)&rs->sr_text, LDAP_DN_FORMAT_LDAP, op->o_tmpmemctx ) ) {
-- 
1.7.3.4

openSUSE Build Service is sponsored by