[PATCH] ITS#9370 check for equality rule on old_rdn
authorHoward Chu <hyc@openldap.org>
Mon, 19 Oct 2020 13:03:41 +0000 (14:03 +0100)
committerRyan Tandy <ryan@nardis.ca>
Fri, 22 Jan 2021 03:54:40 +0000 (03:54 +0000)
Just skip normalization if there's no equality rule. We accept
DNs without equality rules already.

Gbp-Pq: Name ITS-9370-check-for-equality-rule-on-old_rdn.patch

servers/slapd/modrdn.c

index e594187dda98f50639203008b4819a90dc30dc97..51b6062bab3347977d49ca424bfd8167d89731af 100644 (file)
@@ -505,7 +505,7 @@ slap_modrdn2mods(
                        mod_tmp->sml_values = ( BerVarray )ch_malloc( 2 * sizeof( struct berval ) );
                        ber_dupbv( &mod_tmp->sml_values[0], &old_rdn[d_cnt]->la_value );
                        mod_tmp->sml_values[1].bv_val = NULL;
-                       if( desc->ad_type->sat_equality->smr_normalize) {
+                       if( desc->ad_type->sat_equality && desc->ad_type->sat_equality->smr_normalize) {
                                mod_tmp->sml_nvalues = ( BerVarray )ch_malloc( 2 * sizeof( struct berval ) );
                                (void) (*desc->ad_type->sat_equality->smr_normalize)(
                                        SLAP_MR_EQUALITY|SLAP_MR_VALUE_OF_ASSERTION_SYNTAX,