]> git.sur5r.net Git - openldap/commitdiff
found my lber bug... ber_buf should have been freed in ber_peek_tag. Ugh!
authorKurt Zeilenga <kurt@openldap.org>
Thu, 20 May 1999 21:53:56 +0000 (21:53 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Thu, 20 May 1999 21:53:56 +0000 (21:53 +0000)
clients/tools/ldapsearch.c
include/lber.h
libraries/liblber/decode.c
libraries/liblber/io.c

index 315a6ad60dd52a08574bc214e82710dce78f9a9d..83b1720e76523957b4c6cda975123d9c825484f4 100644 (file)
@@ -382,6 +382,7 @@ static int dosearch(
 
     matches = 0;
     first = 1;
+    res = NULL;
     while ( (rc = ldap_result( ld, LDAP_RES_ANY, sortattr ? 1 : 0, NULL, &res ))
            == LDAP_RES_SEARCH_ENTRY ) {
        matches++;
@@ -393,6 +394,7 @@ static int dosearch(
        }
        print_entry( ld, e, attrsonly );
        ldap_msgfree( res );
+       res = NULL;
     }
     if ( rc == -1 ) {
        ldap_perror( ld, "ldap_result" );
index 20fd9c51ad6208fc6f7817a8f32156d85341cd2d..6bf7b8189d45cabf47f43386a90861e9f0e9e507 100644 (file)
@@ -67,7 +67,7 @@ LDAP_BEGIN_DECL
 #define LBER_INVALID(tag) ( ( (tag) & 0xFFFFFF80UL ) != 0 )
 #define LBER_ERROR             0xffffffffUL
 #define LBER_DEFAULT           0xffffffffUL
-/* #define LBER_END_SEQORSET   0xfffffffeUL *//* not part of LDAP C-API */
+#define LBER_END_SEQORSET      0xfffffffeUL /* not part of LDAP C-API */
 
 /* general BER types we know about */
 #define LBER_BOOLEAN           0x01UL
index 2e8bf8b33013a53c3e6da7055b3716f9cd1e5d88..aa33b44dad33a9b27520c950d260963d579ba36a 100644 (file)
@@ -139,7 +139,7 @@ ber_peek_tag(
 
        tag = ber_skip_tag( ber, len );
 
-       ber_free( ber, 1 );
+       ber_free( ber, 0 );
        return( tag );
 }
 
index 176a965fb0a1d58f7d4404783546b72ca7a9566e..d71693d7f3dd09995416a5e552e3037e2e04ea1a 100644 (file)
@@ -443,7 +443,7 @@ ber_get_next( Sockbuf *sb, unsigned long *len, BerElement *ber )
         */
        
        if (ber->ber_rwptr == NULL) {
-               /* assert( ber->ber_buf == NULL ); */
+               assert( ber->ber_buf == NULL );
                ber->ber_rwptr = (char *) &ber->ber_tag;
                ber->ber_tag = 0;
        }