Commit 5ab65565 authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

Fixed slapd slap_realloc misuse (ITS#4477)

parent 93379e17
......@@ -12,6 +12,7 @@ OpenLDAP 2.3.21 Release
Fixed slapd "threads" config value checking (ITS#4433)
Fixed slapd connection index bound check (ITS#4449)
Fixed slapd connection cleanup (ITS#4465)
Fixed slapd slap_realloc misuse (ITS#4477)
Fixed slapd-ldbm crash on modify bug (ITS#4464)
Fixed slapd-ldap potential bind deadlock (ITS#4409)
Fixed slapd-ldap/meta conn expiration concurrency (ITS#4429)
......
......@@ -352,7 +352,7 @@ static int r_enum_tree(enumCookie *ck, struct berval *path,
} else {
/* Queueing up for tool mode */
if(ck->entries == NULL) {
ck->entries = (Entry **) SLAP_MALLOC(sizeof(Entry *) * ENTRY_BUFF_INCREMENT);
ck->entries = (Entry **) ch_malloc(sizeof(Entry *) * ENTRY_BUFF_INCREMENT);
ck->elen = ENTRY_BUFF_INCREMENT;
}
if(ck->eind >= ck->elen) { /* grow entries if necessary */
......
......@@ -108,12 +108,7 @@ static char * referral_dn_muck(
}
muck.bv_len = ntargetDN.bv_len + nrefDN.bv_len - nbaseDN.bv_len;
muck.bv_val = SLAP_MALLOC( muck.bv_len + 1 );
if( muck.bv_val == NULL ) {
Debug( LDAP_DEBUG_ANY,
"referral_dn_muck: SLAP_MALLOC failed\n", 0, 0, 0 );
return NULL;
}
muck.bv_val = ch_malloc( muck.bv_len + 1 );
strncpy( muck.bv_val, ntargetDN.bv_val,
ntargetDN.bv_len-nbaseDN.bv_len );
......@@ -216,12 +211,7 @@ BerVarray referral_rewrite(
return NULL;
}
refs = SLAP_MALLOC( ( i + 1 ) * sizeof( struct berval ) );
if ( refs == NULL ) {
Debug( LDAP_DEBUG_ANY,
"referral_rewrite: SLAP_MALLOC failed\n", 0, 0, 0 );
return NULL;
}
refs = ch_malloc( ( i + 1 ) * sizeof( struct berval ) );
for ( iv = in, jv = refs; !BER_BVISNULL( iv ); iv++ ) {
LDAPURLDesc *url;
......@@ -291,12 +281,7 @@ BerVarray get_entry_referrals(
if( i < 1 ) return NULL;
refs = SLAP_MALLOC( (i + 1) * sizeof(struct berval));
if( refs == NULL ) {
Debug( LDAP_DEBUG_ANY,
"get_entry_referrals: SLAP_MALLOC failed\n", 0, 0, 0 );
return NULL;
}
refs = ch_malloc( (i + 1) * sizeof(struct berval));
for( iv=attr->a_vals, jv=refs; iv->bv_val != NULL; iv++ ) {
unsigned k;
......
......@@ -83,11 +83,7 @@ static char *v2ref( BerVarray ref, const char *text )
}
}
v2 = SLAP_MALLOC( len+i+sizeof("Referral:") );
if( v2 == NULL ) {
Debug( LDAP_DEBUG_ANY, "v2ref: SLAP_MALLOC failed", 0, 0, 0 );
return NULL;
}
v2 = ch_malloc( len+i+sizeof("Referral:") );
if( text != NULL ) {
strcpy(v2, text);
......@@ -100,10 +96,6 @@ static char *v2ref( BerVarray ref, const char *text )
for( i=0; ref[i].bv_val != NULL; i++ ) {
v2 = ch_realloc( v2, len + ref[i].bv_len + 1 );
if( v2 == NULL ) {
Debug( LDAP_DEBUG_ANY, "v2ref: SLAP_MALLOC failed", 0, 0, 0 );
return NULL;
}
v2[len-1] = '\n';
AC_MEMCPY(&v2[len], ref[i].bv_val, ref[i].bv_len );
len += ref[i].bv_len;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment