Diff for /libraries/liblber/decode.c between versions 1.13 and 1.18

version 1.13, 1998/12/26 08:05:57 version 1.18, 1999/04/27 03:19:32
Line 1 Line 1
 /* decode.c - ber input decoding routines */  /* decode.c - ber input decoding routines */
 /*  /*
    * Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved.
    * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
    */
   /* Portions
  * Copyright (c) 1990 Regents of the University of Michigan.   * Copyright (c) 1990 Regents of the University of Michigan.
  * All rights reserved.   * All rights reserved.
  *   *
Line 97  ber_skip_tag( BerElement *ber, unsigned Line 101  ber_skip_tag( BerElement *ber, unsigned
                 return( LBER_DEFAULT );                  return( LBER_DEFAULT );
         if ( lc & 0x80 ) {          if ( lc & 0x80 ) {
                 noctets = (lc & 0x7f);                  noctets = (lc & 0x7f);
                 if ( noctets > sizeof(unsigned long) )                  if ( (unsigned) noctets > sizeof(unsigned long) )
                         return( LBER_DEFAULT );                          return( LBER_DEFAULT );
                 diff = sizeof(unsigned long) - noctets;                  diff = sizeof(unsigned long) - noctets;
                 if ( ber_read( ber, (char *) &netlen + diff, noctets )                  if ( ber_read( ber, (char *) &netlen + diff, noctets )
Line 138  ber_getnint( BerElement *ber, long *num, Line 142  ber_getnint( BerElement *ber, long *num,
          * extend after we read it in.           * extend after we read it in.
          */           */
   
         if ( len > sizeof(long) )          if ( (unsigned) len > sizeof(long) )
                 return( -1 );                  return( -1 );
   
         netnum = 0;          netnum = 0;
Line 150  ber_getnint( BerElement *ber, long *num, Line 154  ber_getnint( BerElement *ber, long *num,
         /* sign extend if necessary */          /* sign extend if necessary */
         p = (char *) &netnum;          p = (char *) &netnum;
         sign = (0x80 & *(p+diff) );          sign = (0x80 & *(p+diff) );
         if ( sign && len < sizeof(long) ) {          if ( sign && ((unsigned) len < sizeof(long)) ) {
                 for ( i = 0; i < diff; i++ ) {                  for ( i = 0; i < diff; i++ ) {
                         *(p+i) = (unsigned char) 0xff;                          *(p+i) = (unsigned char) 0xff;
                 }                  }
Line 194  ber_get_stringb( BerElement *ber, char * Line 198  ber_get_stringb( BerElement *ber, char *
   
 #ifdef STR_TRANSLATION  #ifdef STR_TRANSLATION
         if ( datalen > 0 && ( ber->ber_options & LBER_TRANSLATE_STRINGS ) != 0          if ( datalen > 0 && ( ber->ber_options & LBER_TRANSLATE_STRINGS ) != 0
             && ber->ber_decode_translate_proc != NULL ) {              && ber->ber_decode_translate_proc ) {
                 transbuf = buf;                  transbuf = buf;
                 ++datalen;                  ++datalen;
                 if ( (*(ber->ber_decode_translate_proc))( &transbuf, &datalen,                  if ( (*(ber->ber_decode_translate_proc))( &transbuf, &datalen,
Line 237  ber_get_stringa( BerElement *ber, char * Line 241  ber_get_stringa( BerElement *ber, char *
   
 #ifdef STR_TRANSLATION  #ifdef STR_TRANSLATION
         if ( datalen > 0 && ( ber->ber_options & LBER_TRANSLATE_STRINGS ) != 0          if ( datalen > 0 && ( ber->ber_options & LBER_TRANSLATE_STRINGS ) != 0
             && ber->ber_decode_translate_proc != NULL ) {              && ber->ber_decode_translate_proc ) {
                 ++datalen;                  ++datalen;
                 if ( (*(ber->ber_decode_translate_proc))( buf, &datalen, 1 )                  if ( (*(ber->ber_decode_translate_proc))( buf, &datalen, 1 )
                     != 0 ) {                      != 0 ) {
Line 280  ber_get_stringal( BerElement *ber, struc Line 284  ber_get_stringal( BerElement *ber, struc
   
 #ifdef STR_TRANSLATION  #ifdef STR_TRANSLATION
         if ( len > 0 && ( ber->ber_options & LBER_TRANSLATE_STRINGS ) != 0          if ( len > 0 && ( ber->ber_options & LBER_TRANSLATE_STRINGS ) != 0
             && ber->ber_decode_translate_proc != NULL ) {              && ber->ber_decode_translate_proc ) {
                 ++len;                  ++len;
                 if ( (*(ber->ber_decode_translate_proc))( &((*bv)->bv_val),                  if ( (*(ber->ber_decode_translate_proc))( &((*bv)->bv_val),
                     &len, 1 ) != 0 ) {                      &len, 1 ) != 0 ) {

Removed from v.1.13  
changed lines
  Added in v.1.18


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