#if LDAP_MEMORY_DEBUG
struct ber_mem_hdr {
union bmu_align_u {
+ ber_len_t bmu_len_t;
+ ber_tag_t bmu_tag_t;
+ ber_int_t bmu_int_t;
+
size_t bmu_size_t;
void * bmu_voidp;
double bmu_double;
long bmu_long;
+ long (*bmu_funcp)( double );
char bmu_char[4];
} ber_align;
-#define bm_junk ber_align.bmu_size_t
+#define bm_junk ber_align.bmu_len_t
#define bm_data ber_align.bmu_char[1]
};
#define BER_MEM_JUNK 0xddeeddeeU
#define BER_MEM_VALID(p) do { \
assert( (p) != BER_MEM_BADADDR ); \
assert( (p) != (void *) &ber_int_mem_hdr ); \
- } while(1)
+ } while(0)
#else
#define BER_MEM_VALID(p) /* no-op */
#endif
ber_int_memfree( void **p )
{
assert( p != NULL );
- BER_MEM_VALID( *p )
+ BER_MEM_VALID( *p );
ber_memfree( p );
return;
}
- BER_MEM_VALID( p )
+ BER_MEM_VALID( p );
if( ber_int_memory_fns == NULL ) {
#ifdef LDAP_MEMORY_DEBUG
return;
}
- BER_MEM_VALID( vec )
+ BER_MEM_VALID( vec );
for ( i = 0; vec[i] != NULL; i++ ) {
LBER_FREE( vec[i] );
void *
-ber_memalloc( size_t s )
+ber_memalloc( ber_len_t s )
{
ber_int_options.lbo_valid = LBER_INITIALIZED;
mh->bm_junk = BER_MEM_JUNK;
- BER_MEM_VALID( &mh[1] )
+ BER_MEM_VALID( &mh[1] );
return &mh[1];
#else
return malloc( s );
void *
-ber_memcalloc( size_t n, size_t s )
+ber_memcalloc( ber_len_t n, ber_len_t s )
{
ber_int_options.lbo_valid = LBER_INITIALIZED;
mh->bm_junk = BER_MEM_JUNK;
- BER_MEM_VALID( &mh[1] )
+ BER_MEM_VALID( &mh[1] );
return &mh[1];
#else
return calloc( n, s );
void *
-ber_memrealloc( void* p, size_t s )
+ber_memrealloc( void* p, ber_len_t s )
{
ber_int_options.lbo_valid = LBER_INITIALIZED;
return NULL;
}
- BER_MEM_VALID( p )
+ BER_MEM_VALID( p );
if( ber_int_memory_fns == NULL ) {
#ifdef LDAP_MEMORY_DEBUG
((char *)p - sizeof(struct ber_mem_hdr));
assert( mh->bm_junk == BER_MEM_JUNK );
- p = realloc( mh, s );
+ p = realloc( mh, s + sizeof(struct ber_mem_hdr) );
if( p == NULL ) return NULL;
assert( mh->bm_junk == BER_MEM_JUNK );
- BER_MEM_VALID( &mh[1] )
+ BER_MEM_VALID( &mh[1] );
return &mh[1];
#else
return realloc( p, s );
return;
}
- BER_MEM_VALID( bv )
+ BER_MEM_VALID( bv );
if ( bv->bv_val != NULL )
LBER_FREE( bv->bv_val );
return;
}
- BER_MEM_VALID( bv )
+ BER_MEM_VALID( bv );
for ( i = 0; bv[i] != NULL; i++ )
ber_bvfree( bv[i] );
return NULL;
}
- SAFEMEMCPY( new->bv_val, bv->bv_val, (size_t) bv->bv_len );
+ SAFEMEMCPY( new->bv_val, bv->bv_val, bv->bv_len );
new->bv_val[bv->bv_len] = '\0';
new->bv_len = bv->bv_len;