diff --git a/servers/slapd/filter.c b/servers/slapd/filter.c index e0fc41de3b0f74d3fdff101c7f3be0b83260eba6..60f4f0e063b8e944387fe98c1061322b1d02ba80 100644 --- a/servers/slapd/filter.c +++ b/servers/slapd/filter.c @@ -608,7 +608,9 @@ filter2bv_x( Operation *op, Filter *f, struct berval *fstr ) simple: value = f->f_av_value; if ( f->f_av_desc->ad_type->sat_equality && - ( f->f_av_desc->ad_type->sat_equality->smr_usage & SLAP_MR_MUTATION_NORMALIZER )) { + !undef && + ( f->f_av_desc->ad_type->sat_equality->smr_usage & SLAP_MR_MUTATION_NORMALIZER )) + { f->f_av_desc->ad_type->sat_equality->smr_normalize( (SLAP_MR_DENORMALIZE|SLAP_MR_VALUE_OF_ASSERTION_SYNTAX), NULL, NULL, &f->f_av_value, &value, op->o_tmpmemctx );