]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/filter.c
don't return entry if requested attr is not present (ITS#5650)
[openldap] / servers / slapd / filter.c
index e0fc41de3b0f74d3fdff101c7f3be0b83260eba6..60f4f0e063b8e944387fe98c1061322b1d02ba80 100644 (file)
@@ -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 );