Diff for /libraries/liblber/decode.c between versions 1.60 and 1.63

version 1.60, 2001/05/06 17:07:24 version 1.63, 2001/11/04 16:50:16
Line 1 Line 1
 /* decode.c - ber input decoding routines */  /* decode.c - ber input decoding routines */
 /* $OpenLDAP: pkg/ldap/libraries/liblber/decode.c,v 1.59 2001/01/17 16:08:44 gwilliams Exp $ */  /* $OpenLDAP: pkg/ldap/libraries/liblber/decode.c,v 1.62 2001/11/03 21:07:41 kurt Exp $ */
 /*  /*
  * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.   * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file   * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
Line 42  ber_get_tag( BerElement *ber ) Line 42  ber_get_tag( BerElement *ber )
         unsigned int    i;          unsigned int    i;
   
         assert( ber != NULL );          assert( ber != NULL );
         assert( BER_VALID( ber ) );          assert( LBER_VALID( ber ) );
   
         if ( ber_read( ber, (char *) &xbyte, 1 ) != 1 ) {          if ( ber_read( ber, (char *) &xbyte, 1 ) != 1 ) {
                 return LBER_DEFAULT;                  return LBER_DEFAULT;
Line 85  ber_skip_tag( BerElement *ber, ber_len_t Line 85  ber_skip_tag( BerElement *ber, ber_len_t
   
         assert( ber != NULL );          assert( ber != NULL );
         assert( len != NULL );          assert( len != NULL );
         assert( BER_VALID( ber ) );          assert( LBER_VALID( ber ) );
   
         /*          /*
          * Any ber element looks like this: tag length contents.           * Any ber element looks like this: tag length contents.
Line 175  ber_getnint( Line 175  ber_getnint(
   
         assert( ber != NULL );          assert( ber != NULL );
         assert( num != NULL );          assert( num != NULL );
         assert( BER_VALID( ber ) );          assert( LBER_VALID( ber ) );
   
         /*          /*
          * The tag and length have already been stripped off.  We should           * The tag and length have already been stripped off.  We should
Line 221  ber_get_int( Line 221  ber_get_int(
         ber_len_t       len;          ber_len_t       len;
   
         assert( ber != NULL );          assert( ber != NULL );
         assert( BER_VALID( ber ) );          assert( LBER_VALID( ber ) );
   
         if ( (tag = ber_skip_tag( ber, &len )) == LBER_DEFAULT ) {          if ( (tag = ber_skip_tag( ber, &len )) == LBER_DEFAULT ) {
                 return LBER_DEFAULT;                  return LBER_DEFAULT;
Line 252  ber_get_stringb( Line 252  ber_get_stringb(
         ber_tag_t       tag;          ber_tag_t       tag;
   
         assert( ber != NULL );          assert( ber != NULL );
         assert( BER_VALID( ber ) );          assert( LBER_VALID( ber ) );
   
         if ( (tag = ber_skip_tag( ber, &datalen )) == LBER_DEFAULT ) {          if ( (tag = ber_skip_tag( ber, &datalen )) == LBER_DEFAULT ) {
                 return LBER_DEFAULT;                  return LBER_DEFAULT;
Line 282  ber_get_stringa( BerElement *ber, char * Line 282  ber_get_stringa( BerElement *ber, char *
         assert( ber != NULL );          assert( ber != NULL );
         assert( buf != NULL );          assert( buf != NULL );
   
         assert( BER_VALID( ber ) );          assert( LBER_VALID( ber ) );
   
         if ( (tag = ber_skip_tag( ber, &datalen )) == LBER_DEFAULT ) {          if ( (tag = ber_skip_tag( ber, &datalen )) == LBER_DEFAULT ) {
                 *buf = NULL;                  *buf = NULL;
Line 312  ber_get_stringal( BerElement *ber, struc Line 312  ber_get_stringal( BerElement *ber, struc
         assert( ber != NULL );          assert( ber != NULL );
         assert( bv != NULL );          assert( bv != NULL );
   
         assert( BER_VALID( ber ) );          assert( LBER_VALID( ber ) );
   
         if ( (tag = ber_skip_tag( ber, &len )) == LBER_DEFAULT ) {          if ( (tag = ber_skip_tag( ber, &len )) == LBER_DEFAULT ) {
                 *bv = NULL;                  *bv = NULL;
Line 363  ber_get_bitstringa( Line 363  ber_get_bitstringa(
         assert( buf != NULL );          assert( buf != NULL );
         assert( blen != NULL );          assert( blen != NULL );
   
         assert( BER_VALID( ber ) );          assert( LBER_VALID( ber ) );
   
         if ( (tag = ber_skip_tag( ber, &datalen )) == LBER_DEFAULT ) {          if ( (tag = ber_skip_tag( ber, &datalen )) == LBER_DEFAULT ) {
                 *buf = NULL;                  *buf = NULL;
Line 398  ber_get_null( BerElement *ber ) Line 398  ber_get_null( BerElement *ber )
         ber_tag_t       tag;          ber_tag_t       tag;
   
         assert( ber != NULL );          assert( ber != NULL );
         assert( BER_VALID( ber ) );          assert( LBER_VALID( ber ) );
   
         if ( (tag = ber_skip_tag( ber, &len )) == LBER_DEFAULT ) {          if ( (tag = ber_skip_tag( ber, &len )) == LBER_DEFAULT ) {
                 return LBER_DEFAULT;                  return LBER_DEFAULT;
Line 422  ber_get_boolean( Line 422  ber_get_boolean(
         assert( ber != NULL );          assert( ber != NULL );
         assert( boolval != NULL );          assert( boolval != NULL );
   
         assert( BER_VALID( ber ) );          assert( LBER_VALID( ber ) );
   
         rc = ber_get_int( ber, &longbool );          rc = ber_get_int( ber, &longbool );
         *boolval = longbool;          *boolval = longbool;
Line 465  ber_next_element( Line 465  ber_next_element(
         assert( len != NULL );          assert( len != NULL );
         assert( last != NULL );          assert( last != NULL );
   
         assert( BER_VALID( ber ) );          assert( LBER_VALID( ber ) );
   
         if ( ber->ber_ptr == last ) {          if ( ber->ber_ptr == last ) {
                 return LBER_DEFAULT;                  return LBER_DEFAULT;
Line 497  ber_scanf ( BerElement *ber, Line 497  ber_scanf ( BerElement *ber,
         assert( ber != NULL );          assert( ber != NULL );
         assert( fmt != NULL );          assert( fmt != NULL );
   
         assert( BER_VALID( ber ) );          assert( LBER_VALID( ber ) );
   
         fmt_reset = fmt;          fmt_reset = fmt;
   
Line 590  ber_scanf ( BerElement *ber, Line 590  ber_scanf ( BerElement *ber,
                             tag != LBER_DEFAULT && rc != LBER_DEFAULT;                              tag != LBER_DEFAULT && rc != LBER_DEFAULT;
                             tag = ber_next_element( ber, &len, last ) )                              tag = ber_next_element( ber, &len, last ) )
                         {                          {
                                   void *save = *sss;
   
                                 *sss = (char **) LBER_REALLOC( *sss,                                  *sss = (char **) LBER_REALLOC( *sss,
                                         (j + 2) * sizeof(char *) );                                          (j + 2) * sizeof(char *) );
   
                                   if( *sss == NULL ) {
                                           LBER_FREE( save );
                                           rc = LBER_DEFAULT;
                                           goto breakout;
                                   }
   
                                 rc = ber_get_stringa( ber, &((*sss)[j]) );                                  rc = ber_get_stringa( ber, &((*sss)[j]) );
                                 j++;                                  j++;
                         }                          }
Line 608  ber_scanf ( BerElement *ber, Line 616  ber_scanf ( BerElement *ber,
                             tag != LBER_DEFAULT && rc != LBER_DEFAULT;                              tag != LBER_DEFAULT && rc != LBER_DEFAULT;
                             tag = ber_next_element( ber, &len, last ) )                              tag = ber_next_element( ber, &len, last ) )
                         {                          {
                                   void *save = *bv;
   
                                 *bv = (struct berval **) LBER_REALLOC( *bv,                                  *bv = (struct berval **) LBER_REALLOC( *bv,
                                         (j + 2) * sizeof(struct berval *) );                                          (j + 2) * sizeof(struct berval *) );
                                   
                                   if( *bv == NULL ) {
                                           LBER_FREE( save );
                                           rc = LBER_DEFAULT;
                                           goto breakout;
                                   }
   
                                 rc = ber_get_stringal( ber, &((*bv)[j]) );                                  rc = ber_get_stringal( ber, &((*bv)[j]) );
                                 j++;                                  j++;
                         }                          }
Line 649  ber_scanf ( BerElement *ber, Line 665  ber_scanf ( BerElement *ber,
                 }                  }
         }          }
   
   breakout:
         va_end( ap );          va_end( ap );
   
         if ( rc == LBER_DEFAULT ) {          if ( rc == LBER_DEFAULT ) {

Removed from v.1.60  
changed lines
  Added in v.1.63


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