]> git.sur5r.net Git - openldap/commitdiff
Modify replace_values not to merge in new values when no value is
authorKurt Zeilenga <kurt@openldap.org>
Wed, 11 Aug 1999 19:05:40 +0000 (19:05 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Wed, 11 Aug 1999 19:05:40 +0000 (19:05 +0000)
was provided.

servers/slapd/back-bdb2/modify.c
servers/slapd/back-ldbm/modify.c

index 8da3a396aee82c208fd745ce5ed07ec556480a12..ef263e7ed660104fcbebb1e1608a94e0baa8819c 100644 (file)
@@ -314,7 +314,9 @@ bdb2i_replace_values(
 {
        (void) attr_delete( &e->e_attrs, mod->mod_type );
 
-       if ( attr_merge( e, mod->mod_type, mod->mod_bvalues ) != 0 ) {
+       if ( mod->bvalues != NULL &&
+               attr_merge( e, mod->mod_type, mod->mod_bvalues ) != 0 )
+       {
                return( LDAP_CONSTRAINT_VIOLATION );
        }
 
index 41197e051317bb6f27e5f4d663643e00d9503c28..6f58b94767eff27f6fca1ca4828107300eeff678 100644 (file)
@@ -346,7 +346,9 @@ replace_values(
 {
        (void) attr_delete( &e->e_attrs, mod->mod_type );
 
-       if ( attr_merge( e, mod->mod_type, mod->mod_bvalues ) != 0 ) {
+       if ( mod->mod_bvalues != NULL &&
+               attr_merge( e, mod->mod_type, mod->mod_bvalues ) != 0 )
+       {
                return( LDAP_CONSTRAINT_VIOLATION );
        }