Diff for /libraries/liblber/decode.c between versions 1.116 and 1.117

version 1.116, 2009/02/10 11:44:12 version 1.117, 2009/02/10 20:29:56
Line 143  ber_skip_tag( BerElement *ber, ber_len_t Line 143  ber_skip_tag( BerElement *ber, ber_len_t
 {  {
         ber_tag_t       tag;          ber_tag_t       tag;
         unsigned char   lc;          unsigned char   lc;
         char            *save;          ber_len_t       i, noctets;
           unsigned char netlen[sizeof(ber_len_t)];
   
         assert( ber != NULL );          assert( ber != NULL );
         assert( len != NULL );          assert( len != NULL );
         assert( LBER_VALID( ber ) );          assert( LBER_VALID( ber ) );
   
         save = ber->ber_ptr;  
   
         /*          /*
          * Any ber element looks like this: tag length contents.           * Any ber element looks like this: tag length contents.
          * Assuming everything's ok, we return the tag byte (we           * Assuming everything's ok, we return the tag byte (we
Line 183  ber_skip_tag( BerElement *ber, ber_len_t Line 182  ber_skip_tag( BerElement *ber, ber_len_t
         }          }
   
         if ( lc & 0x80U ) {          if ( lc & 0x80U ) {
                 ber_len_t       i, noctets;  
                 unsigned char netlen[sizeof(ber_len_t)];  
   
                 noctets = (lc & 0x7fU);                  noctets = (lc & 0x7fU);
   
                 if ( noctets > sizeof(ber_len_t) ) {                  if ( noctets > sizeof(ber_len_t) ) {
Line 206  ber_skip_tag( BerElement *ber, ber_len_t Line 202  ber_skip_tag( BerElement *ber, ber_len_t
         }          }
   
         /* BER element should have enough data left */          /* 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;                  return LBER_DEFAULT;
         }          }
         ber->ber_tag = *(unsigned char *)ber->ber_ptr;          ber->ber_tag = *(unsigned char *)ber->ber_ptr;

Removed from v.1.116  
changed lines
  Added in v.1.117


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org