From: Howard Chu Date: Thu, 21 Apr 2005 03:41:32 +0000 (+0000) Subject: Import ITS#3657 check X-Git-Tag: OPENLDAP_REL_ENG_2_2_25~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a4e9ef01f55689119e7b7c0cd15467fc9a6b3e9c;p=thirdparty%2Fopenldap.git Import ITS#3657 check --- diff --git a/servers/slapd/back-bdb/modrdn.c b/servers/slapd/back-bdb/modrdn.c index f25ceca2dc..57fd983f2f 100644 --- a/servers/slapd/back-bdb/modrdn.c +++ b/servers/slapd/back-bdb/modrdn.c @@ -426,8 +426,13 @@ retry: /* transaction retry */ np_dn = op->oq_modrdn.rs_newSup; np_ndn = op->oq_modrdn.rs_nnewSup; - /* newSuperior == oldParent?, if so ==> ERROR */ + /* newSuperior == oldParent? - checked above */ /* newSuperior == entry being moved?, if so ==> ERROR */ + if ( dnIsSuffix( np_ndn, &e->e_nname )) { + rs->sr_err = LDAP_NAMING_VIOLATION; + rs->sr_text = "new superior is invalid"; + goto return_results; + } /* Get Entry with dn=newSuperior. Does newSuperior exist? */ rs->sr_err = bdb_dn2entry( op, ltid, np_ndn,