]> git.sur5r.net Git - openldap/commitdiff
ITS#5803
authorQuanah Gibson-Mount <quanah@openldap.org>
Tue, 11 Nov 2008 20:30:37 +0000 (20:30 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Tue, 11 Nov 2008 20:30:37 +0000 (20:30 +0000)
CHANGES
servers/slapd/filter.c

diff --git a/CHANGES b/CHANGES
index 08d9593afb8d17d9f99b90e4bc318bbcfe7e5e74..0b266a2df548defb1ea6ed2c0c8e62340269c370 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -14,6 +14,7 @@ OpenLDAP 2.4.13 Engineering
        Fixed slapd control criticality (ITS#5785)
        Added slapd dn.this search limits (ITS#5734)
        Fixed slapd error status on shutdown (ITS#5745)
+       Fixed slapd filter substring handling (ITS#5803)
        Fixed slapd nameUIDPretty bitstring parsing (ITS#5750)
        Fixed slapd null termination of password (ITS#5794)
        Fixed slapd overlay/database open with real structure (ITS#5724)
index bf855f573470b0994357c52840bb880e11ab1093..fd6af57c6d6f0e34565c755750c81ce495a09378 100644 (file)
@@ -385,6 +385,19 @@ get_ssa(
 
        rc = LDAP_PROTOCOL_ERROR;
 
+       if ( ssa.sa_desc->ad_type->sat_substr == NULL ) {
+               for ( tag = ber_first_element( ber, &len, &last );
+                       tag != LBER_DEFAULT;
+                       tag = ber_next_element( ber, &len, last ) )
+               {
+                       /* eat all */
+                       rc = ber_scanf( ber, "x" );
+               }
+
+               rc = LDAP_INVALID_SYNTAX;
+               goto return_error;
+       }
+
        for ( tag = ber_first_element( ber, &len, &last );
                tag != LBER_DEFAULT;
                tag = ber_next_element( ber, &len, last ) )