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

From 80a3b25154a6d99ad154acd423ebd917abb375d7 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 e143a7b..06ea25c 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