]> git.sur5r.net Git - openldap/commitdiff
Revert prev commit
authorHoward Chu <hyc@openldap.org>
Tue, 10 Feb 2009 21:29:56 +0000 (21:29 +0000)
committerHoward Chu <hyc@openldap.org>
Tue, 10 Feb 2009 21:29:56 +0000 (21:29 +0000)
libraries/liblber/decode.c

index 3e956804b56a83e25694444ce4c91199611c0a3b..b687e75cc8856d5f39c3470331933f6e0e04cff4 100644 (file)
@@ -143,14 +143,13 @@ ber_skip_tag( BerElement *ber, ber_len_t *len )
 {
        ber_tag_t       tag;
        unsigned char   lc;
-       char            *save;
+       ber_len_t       i, noctets;
+       unsigned char netlen[sizeof(ber_len_t)];
 
        assert( ber != NULL );
        assert( len != NULL );
        assert( LBER_VALID( ber ) );
 
-       save = ber->ber_ptr;
-
        /*
         * Any ber element looks like this: tag length contents.
         * Assuming everything's ok, we return the tag byte (we
@@ -183,9 +182,6 @@ ber_skip_tag( BerElement *ber, ber_len_t *len )
        }
 
        if ( lc & 0x80U ) {
-               ber_len_t       i, noctets;
-               unsigned char netlen[sizeof(ber_len_t)];
-
                noctets = (lc & 0x7fU);
 
                if ( noctets > sizeof(ber_len_t) ) {
@@ -206,7 +202,7 @@ ber_skip_tag( BerElement *ber, ber_len_t *len )
        }
 
        /* BER element should have enough data left */
-       if( *len > (ber_len_t) (ber_pvt_ber_remaining( ber ) + ber->ber_ptr - save) ) {
+       if( *len > (ber_len_t) ber_pvt_ber_remaining( ber ) ) {
                return LBER_DEFAULT;
        }
        ber->ber_tag = *(unsigned char *)ber->ber_ptr;