]> git.sur5r.net Git - openldap/commitdiff
further fix ITS#5138 (please review)
authorPierangelo Masarati <ando@openldap.org>
Sat, 15 Sep 2007 17:30:07 +0000 (17:30 +0000)
committerPierangelo Masarati <ando@openldap.org>
Sat, 15 Sep 2007 17:30:07 +0000 (17:30 +0000)
servers/slapd/back-ldap/search.c

index 047bee5d3968c35354543d058494982a6c3873eb..a1c97a2094b08ff8aa2c435b6c1639a4fe792fa8 100644 (file)
@@ -610,16 +610,17 @@ ldap_build_entry(
         * change, should we massage them as well?
         */
        if ( dnPrettyNormal( NULL, bdn, &ent->e_name, &ent->e_nname,
-               op->o_tmpmemctx ) != LDAP_SUCCESS ) {
+               op->o_tmpmemctx ) != LDAP_SUCCESS )
+       {
                return LDAP_INVALID_DN_SYNTAX;
        }
 
-       attrp = &ent->e_attrs;
-
+       ent->e_attrs = NULL;
        if ( ber_first_element( &ber, &len, &lastb ) != LBER_SEQUENCE ) {
-               return LDAP_DECODING_ERROR;
+               return LDAP_SUCCESS;
        }
 
+       attrp = &ent->e_attrs;
        while ( ber_next_element( &ber, &len, lastb ) == LBER_SEQUENCE &&
                ber_scanf( &ber, "{m", &a ) != LBER_ERROR ) {
                int                             i;