From: Ondřej Kuzník Date: Tue, 11 May 2021 12:20:52 +0000 (+0100) Subject: ITS#9551 Handle empty DN in extended filters X-Git-Tag: OPENLDAP_REL_ENG_2_6_0~216 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b0b0fc8c67fe484c0036c06a690580a4ba919bb9;p=thirdparty%2Fopenldap.git ITS#9551 Handle empty DN in extended filters --- diff --git a/servers/slapd/dn.c b/servers/slapd/dn.c index 15b5d15b90..f8db824c20 100644 --- a/servers/slapd/dn.c +++ b/servers/slapd/dn.c @@ -839,7 +839,9 @@ dnRelativeMatch( match = memcmp( value->bv_val, asserted->bv_val, value->bv_len ); } else { - if( DN_SEPARATOR( + if ( BER_BVISEMPTY( asserted ) ) { + match = 0; + } else if ( DN_SEPARATOR( value->bv_val[value->bv_len - asserted->bv_len - 1] )) { match = memcmp( @@ -865,7 +867,9 @@ dnRelativeMatch( if( asserted->bv_len >= value->bv_len ) { match = -1; } else { - if( DN_SEPARATOR( + if ( BER_BVISEMPTY( asserted ) ) { + match = 0; + } else if ( DN_SEPARATOR( value->bv_val[value->bv_len - asserted->bv_len - 1] )) { match = memcmp(