summaryrefslogtreecommitdiffstats
path: root/ldap/servers
diff options
context:
space:
mode:
Diffstat (limited to 'ldap/servers')
-rw-r--r--ldap/servers/slapd/valueset.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ldap/servers/slapd/valueset.c b/ldap/servers/slapd/valueset.c
index 3df302f3..7334a7a0 100644
--- a/ldap/servers/slapd/valueset.c
+++ b/ldap/servers/slapd/valueset.c
@@ -1358,7 +1358,9 @@ valueset_replace(Slapi_Attr *a, Slapi_ValueSet *vs, Slapi_Value **valstoreplace)
Avlnode *vtree = NULL;
rc = valuetree_add_valuearray( a->a_type, a->a_plugin, valstoreplace, &vtree, NULL );
valuetree_free(&vtree);
- if ( LDAP_SUCCESS != rc )
+ if ( LDAP_SUCCESS != rc &&
+ /* bz 247413: don't override LDAP_TYPE_OR_VALUE_EXISTS */
+ LDAP_TYPE_OR_VALUE_EXISTS != rc )
{
/* There were already duplicate values in the value set */
rc = LDAP_OPERATIONS_ERROR;