]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/ad.c
Multi-threaded slapindex
[openldap] / servers / slapd / ad.c
index 48b4b272194f6f6bd5f29bf092d229472b96651d..d351c5c49dcf6743d1543754e51b5f99aaa4eac6 100644 (file)
@@ -1029,9 +1029,8 @@ anlist2attrs( AttributeName * anlist )
        i = 0;
        while ( attrs && attrs[i] ) {
                if ( *attrs[i] == '@' ) {
+                       ch_free( attrs[i] );
                        for ( j = i; attrs[j]; j++ ) {
-                               if ( j == i )
-                                       ch_free( attrs[i] );
                                attrs[j] = attrs[j+1];
                        }
                } else {
@@ -1043,9 +1042,8 @@ anlist2attrs( AttributeName * anlist )
                j = i + 1;
                while ( attrs && attrs[j] ) {
                        if ( !strcmp( attrs[i], attrs[j] )) {
+                               ch_free( attrs[j] );
                                for ( k = j; attrs && attrs[k]; k++ ) {
-                                       if ( k == j )
-                                               ch_free( attrs[j] );
                                        attrs[k] = attrs[k+1];
                                }
                        } else {