version 1.84, 2002/01/14 00:43:18
|
version 1.84.2.4, 2003/02/07 16:58:48
|
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.83 2002/01/12 01:23:04 hyc Exp $ */ |
/* $OpenLDAP: pkg/ldap/libraries/liblber/decode.c,v 1.84.2.3 2002/11/28 22:18:55 kurt Exp $ */ |
/* |
/* |
* Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved. |
* Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved. |
* COPYING RESTRICTIONS APPLY, see COPYRIGHT file |
* COPYING RESTRICTIONS APPLY, see COPYRIGHT file |
Line 141 ber_skip_tag( BerElement *ber, ber_len_t
|
Line 141 ber_skip_tag( BerElement *ber, ber_len_t
|
*len = lc; |
*len = lc; |
} |
} |
|
|
/* BER length should be non-negative */ |
|
if( *len < 0 ) { |
|
return LBER_DEFAULT; |
|
} |
|
|
|
/* BER element should have enough data left */ |
/* BER element should have enough data left */ |
if( *len > (ber_len_t) ber_pvt_ber_remaining( ber ) ) { |
if( *len > (ber_len_t) ber_pvt_ber_remaining( ber ) ) { |
return LBER_DEFAULT; |
return LBER_DEFAULT; |
Line 603 ber_next_element(
|
Line 598 ber_next_element(
|
|
|
assert( LBER_VALID( ber ) ); |
assert( LBER_VALID( ber ) ); |
|
|
if ( ber->ber_ptr == last ) { |
if ( ber->ber_ptr >= last ) { |
return LBER_DEFAULT; |
return LBER_DEFAULT; |
} |
} |
|
|
Line 619 ber_scanf ( BerElement *ber,
|
Line 614 ber_scanf ( BerElement *ber,
|
va_list ap; |
va_list ap; |
LDAP_CONST char *fmt_reset; |
LDAP_CONST char *fmt_reset; |
char *s, **ss; |
char *s, **ss; |
#ifdef TMP_SLOTS |
|
char *last; |
|
char ***sss; |
|
ber_tag_t tag; |
|
struct berval ***bv; |
|
int j; |
|
#endif |
|
struct berval **bvp, *bval; |
struct berval **bvp, *bval; |
ber_int_t *i; |
ber_int_t *i; |
ber_len_t *l; |
ber_len_t *l; |
Line 643 ber_scanf ( BerElement *ber,
|
Line 631 ber_scanf ( BerElement *ber,
|
fmt_reset = fmt; |
fmt_reset = fmt; |
|
|
#ifdef NEW_LOGGING |
#ifdef NEW_LOGGING |
LDAP_LOG(( "liblber", LDAP_LEVEL_ENTRY, "ber_scanf fmt (%s) ber:\n", fmt )); |
LDAP_LOG( BER, ENTRY, "ber_scanf fmt (%s) ber:\n", fmt, 0, 0 ); |
BER_DUMP(( "liblber", LDAP_LEVEL_DETAIL2, ber, 1 )); |
|
|
if ( LDAP_LOGS_TEST(BER, DETAIL2 )) |
|
BER_DUMP(( "liblber", LDAP_LEVEL_DETAIL2, ber, 1 )); |
#else |
#else |
ber_log_printf( LDAP_DEBUG_TRACE, ber->ber_debug, |
ber_log_printf( LDAP_DEBUG_TRACE, ber->ber_debug, |
"ber_scanf fmt (%s) ber:\n", fmt ); |
"ber_scanf fmt (%s) ber:\n", fmt ); |
Line 796 ber_scanf ( BerElement *ber,
|
Line 786 ber_scanf ( BerElement *ber,
|
default: |
default: |
if( ber->ber_debug ) { |
if( ber->ber_debug ) { |
#ifdef NEW_LOGGING |
#ifdef NEW_LOGGING |
LDAP_LOG(( "liblber", LDAP_LEVEL_ERR, |
LDAP_LOG( BER, ERR, |
"ber_scanf: unknown fmt %c\n", *fmt )); |
"ber_scanf: unknown fmt %c\n", *fmt, 0, 0 ); |
#else |
#else |
ber_log_printf( LDAP_DEBUG_ANY, ber->ber_debug, |
ber_log_printf( LDAP_DEBUG_ANY, ber->ber_debug, |
"ber_scanf: unknown fmt %c\n", *fmt ); |
"ber_scanf: unknown fmt %c\n", *fmt ); |