From: Kurt Zeilenga Date: Thu, 6 Apr 2006 21:46:57 +0000 (+0000) Subject: Fixed slapd slap_realloc misuse (ITS#4477) X-Git-Tag: OPENLDAP_REL_ENG_2_3_21~7 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=5ab65565c0503ef6939989373f7c13adb1b41718;p=openldap Fixed slapd slap_realloc misuse (ITS#4477) --- diff --git a/CHANGES b/CHANGES index 36758ed3b7..4879d6b313 100644 --- a/CHANGES +++ b/CHANGES @@ -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) diff --git a/servers/slapd/back-ldif/ldif.c b/servers/slapd/back-ldif/ldif.c index 44309c7fcf..27d8435785 100644 --- a/servers/slapd/back-ldif/ldif.c +++ b/servers/slapd/back-ldif/ldif.c @@ -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 */ diff --git a/servers/slapd/referral.c b/servers/slapd/referral.c index 91d50a3e63..fac26e825b 100644 --- a/servers/slapd/referral.c +++ b/servers/slapd/referral.c @@ -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; diff --git a/servers/slapd/result.c b/servers/slapd/result.c index 64c7177227..fbf6a04a5b 100644 --- a/servers/slapd/result.c +++ b/servers/slapd/result.c @@ -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;