version 1.93, 2003/03/12 02:23:09
|
version 1.94, 2003/04/09 11:25:11
|
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.92 2003/03/12 01:33:53 hyc Exp $ */ |
/* $OpenLDAP: pkg/ldap/libraries/liblber/decode.c,v 1.93 2003/03/12 02:23:09 hyc Exp $ */ |
/* |
/* |
* Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved. |
* Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved. |
* COPYING RESTRICTIONS APPLY, see COPYRIGHT file |
* COPYING RESTRICTIONS APPLY, see COPYRIGHT file |
Line 340 ber_get_stringbvl( bgbvr *b, ber_len_t *
|
Line 340 ber_get_stringbvl( bgbvr *b, ber_len_t *
|
/* Allocate the result vector */ |
/* Allocate the result vector */ |
switch (b->choice) { |
switch (b->choice) { |
case ChArray: |
case ChArray: |
*b->res.c = LBER_MALLOC( (n+1) * sizeof( char * )); |
*b->res.c = ber_memalloc_x( (n+1) * sizeof( char * ), b->ber->ber_memctx); |
if ( *b->res.c == NULL ) |
if ( *b->res.c == NULL ) |
return LBER_DEFAULT; |
return LBER_DEFAULT; |
(*b->res.c)[n] = NULL; |
(*b->res.c)[n] = NULL; |
break; |
break; |
case BvArray: |
case BvArray: |
*b->res.ba = LBER_MALLOC( (n+1) * sizeof( struct berval )); |
*b->res.ba = ber_memalloc_x( (n+1) * sizeof( struct berval ), b->ber->ber_memctx); |
if ( *b->res.ba == NULL ) |
if ( *b->res.ba == NULL ) |
return LBER_DEFAULT; |
return LBER_DEFAULT; |
(*b->res.ba)[n].bv_val = NULL; |
(*b->res.ba)[n].bv_val = NULL; |
break; |
break; |
case BvVec: |
case BvVec: |
*b->res.bv = LBER_MALLOC( (n+1) * sizeof( struct berval *)); |
*b->res.bv = ber_memalloc_x( (n+1) * sizeof( struct berval *), b->ber->ber_memctx); |
if ( *b->res.bv == NULL ) |
if ( *b->res.bv == NULL ) |
return LBER_DEFAULT; |
return LBER_DEFAULT; |
(*b->res.bv)[n] = NULL; |
(*b->res.bv)[n] = NULL; |
break; |
break; |
case BvOff: |
case BvOff: |
*b->res.ba = LBER_MALLOC( (n+1) * b->siz ); |
*b->res.ba = ber_memalloc_x( (n+1) * b->siz, b->ber->ber_memctx ); |
if ( *b->res.ba == NULL ) |
if ( *b->res.ba == NULL ) |
return LBER_DEFAULT; |
return LBER_DEFAULT; |
((struct berval *)((long)(*b->res.ba) + n*b->siz + |
((struct berval *)((long)(*b->res.ba) + n*b->siz + |
Line 384 ber_get_stringbvl( bgbvr *b, ber_len_t *
|
Line 384 ber_get_stringbvl( bgbvr *b, ber_len_t *
|
(*b->res.ba)[n] = bv; |
(*b->res.ba)[n] = bv; |
break; |
break; |
case BvVec: |
case BvVec: |
bvp = LBER_MALLOC( sizeof( struct berval )); |
bvp = ber_memalloc_x( sizeof( struct berval ), b->ber->ber_memctx); |
if ( !bvp ) { |
if ( !bvp ) { |
LBER_FREE(bv.bv_val); |
LBER_FREE(bv.bv_val); |
goto nomem; |
goto nomem; |
Line 437 ber_get_stringbv( BerElement *ber, struc
|
Line 437 ber_get_stringbv( BerElement *ber, struc
|
} |
} |
|
|
if ( alloc ) { |
if ( alloc ) { |
if ( (bv->bv_val = (char *) LBER_MALLOC( bv->bv_len + 1 )) == NULL ) { |
if ( (bv->bv_val = (char *) ber_memalloc_x( bv->bv_len + 1, ber->ber_memctx )) == NULL ) { |
return LBER_DEFAULT; |
return LBER_DEFAULT; |
} |
} |
|
|
Line 479 ber_get_stringal( BerElement *ber, struc
|
Line 479 ber_get_stringal( BerElement *ber, struc
|
assert( ber != NULL ); |
assert( ber != NULL ); |
assert( bv != NULL ); |
assert( bv != NULL ); |
|
|
*bv = (struct berval *) LBER_MALLOC( sizeof(struct berval) ); |
*bv = (struct berval *) ber_memalloc_x( sizeof(struct berval), ber->ber_memctx ); |
if ( *bv == NULL ) { |
if ( *bv == NULL ) { |
return LBER_DEFAULT; |
return LBER_DEFAULT; |
} |
} |
Line 514 ber_get_bitstringa(
|
Line 514 ber_get_bitstringa(
|
} |
} |
--datalen; |
--datalen; |
|
|
if ( (*buf = (char *) LBER_MALLOC( datalen )) == NULL ) { |
if ( (*buf = (char *) ber_memalloc_x( datalen, ber->ber_memctx )) == NULL ) { |
return LBER_DEFAULT; |
return LBER_DEFAULT; |
} |
} |
|
|