--- libraries/liblber/decode.c 1999/05/28 01:24:41 1.27 +++ libraries/liblber/decode.c 1999/05/28 17:33:05 1.28 @@ -39,6 +39,7 @@ ber_get_tag( BerElement *ber ) unsigned int i; assert( ber != NULL ); + assert( BER_VALID( ber ) ); if ( ber_read( ber, (char *) &xbyte, 1 ) != 1 ) return( LBER_DEFAULT ); @@ -77,6 +78,7 @@ ber_skip_tag( BerElement *ber, unsigned assert( ber != NULL ); assert( len != NULL ); + assert( BER_VALID( ber ) ); /* * Any ber element looks like this: tag length contents. @@ -130,6 +132,7 @@ ber_peek_tag( BerElement *ber; assert( ber_in != NULL ); + assert( BER_VALID( ber_in ) ); ber = ber_dup( ber_in ); @@ -137,6 +140,8 @@ ber_peek_tag( return LBER_ERROR; } + assert( BER_VALID( ber ) ); + tag = ber_skip_tag( ber, len ); ber_free( ber, 0 ); @@ -153,6 +158,8 @@ ber_getnint( BerElement *ber, long *num, assert( ber != NULL ); assert( num != NULL ); + assert( BER_VALID( ber ) ); + /* * The tag and length have already been stripped off. We should * be sitting right before len bytes of 2's complement integer, @@ -188,6 +195,7 @@ ber_get_int( BerElement *ber, long *num unsigned long tag, len; assert( ber != NULL ); + assert( BER_VALID( ber ) ); if ( (tag = ber_skip_tag( ber, &len )) == LBER_DEFAULT ) return( LBER_DEFAULT ); @@ -207,6 +215,7 @@ ber_get_stringb( BerElement *ber, char * #endif /* STR_TRANSLATION */ assert( ber != NULL ); + assert( BER_VALID( ber ) ); if ( (tag = ber_skip_tag( ber, &datalen )) == LBER_DEFAULT ) return( LBER_DEFAULT ); @@ -249,6 +258,8 @@ ber_get_stringa( BerElement *ber, char * assert( ber != NULL ); assert( buf != NULL ); + assert( BER_VALID( ber ) ); + if ( (tag = ber_skip_tag( ber, &datalen )) == LBER_DEFAULT ) { *buf = NULL; return( LBER_DEFAULT ); @@ -288,6 +299,8 @@ ber_get_stringal( BerElement *ber, struc assert( ber != NULL ); assert( bv != NULL ); + assert( BER_VALID( ber ) ); + if ( (tag = ber_skip_tag( ber, &len )) == LBER_DEFAULT ) { *bv = NULL; return( LBER_DEFAULT ); @@ -337,6 +350,8 @@ ber_get_bitstringa( BerElement *ber, cha assert( buf != NULL ); assert( blen != NULL ); + assert( BER_VALID( ber ) ); + if ( (tag = ber_skip_tag( ber, &datalen )) == LBER_DEFAULT ) { *buf = NULL; return( LBER_DEFAULT ); @@ -368,6 +383,7 @@ ber_get_null( BerElement *ber ) unsigned long len, tag; assert( ber != NULL ); + assert( BER_VALID( ber ) ); if ( (tag = ber_skip_tag( ber, &len )) == LBER_DEFAULT ) return( LBER_DEFAULT ); @@ -387,6 +403,8 @@ ber_get_boolean( BerElement *ber, int *b assert( ber != NULL ); assert( boolval != NULL ); + assert( BER_VALID( ber ) ); + rc = ber_get_int( ber, &longbool ); *boolval = longbool; @@ -422,6 +440,8 @@ ber_next_element( BerElement *ber, unsig assert( len != NULL ); assert( last != NULL ); + assert( BER_VALID( ber ) ); + if ( ber->ber_ptr == last ) { return( LBER_DEFAULT ); } @@ -465,6 +485,8 @@ va_dcl assert( ber != NULL ); assert( fmt != NULL ); + assert( BER_VALID( ber ) ); + fmt_reset = fmt; ber_log_printf( LDAP_DEBUG_TRACE, ber->ber_debug, @@ -795,6 +817,7 @@ ber_set_string_translators( BerElement * BERTranslateProc decode_proc ) { assert( ber != NULL ); + assert( BER_VALID( ber ) ); ber->ber_encode_translate_proc = encode_proc; ber->ber_decode_translate_proc = decode_proc;