]> git.sur5r.net Git - openldap/commitdiff
Check for DN separator
authorKurt Zeilenga <kurt@openldap.org>
Thu, 15 Mar 2001 04:18:07 +0000 (04:18 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Thu, 15 Mar 2001 04:18:07 +0000 (04:18 +0000)
servers/slapd/backend.c

index bbcfdea56ba40ce50902bf30dd6850afb5409e8c..8d3d2cfeadd7213fd841aee284ec9eadb5b26942 100644 (file)
@@ -442,12 +442,16 @@ select_backend(
                        len = strlen( backends[i].be_nsuffix[j] );
 
                        if ( len > dnlen ) {
+                               /* suffix is longer than DN */
                                continue;
                        }
 
-                       if ( strcmp( backends[i].be_nsuffix[j],
-                           dn + (dnlen - len) ) == 0 )
-                       {
+                       if ( len < dnlen && DN_SEPARATOR( dn[(dnlen-len)-1] ) ) {
+                               /* make sure we have a separator */
+                               continue;
+                       }
+
+                       if ( strcmp( backends[i].be_nsuffix[j], &dn[dnlen-len] ) == 0 ) {
                                if( be == NULL ) {
                                        be = &backends[i];