]> git.sur5r.net Git - openldap/commitdiff
Fixed slapd slap_realloc misuse (ITS#4477)
authorKurt Zeilenga <kurt@openldap.org>
Thu, 6 Apr 2006 21:46:57 +0000 (21:46 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Thu, 6 Apr 2006 21:46:57 +0000 (21:46 +0000)
CHANGES
servers/slapd/back-ldif/ldif.c
servers/slapd/referral.c
servers/slapd/result.c

diff --git a/CHANGES b/CHANGES
index 36758ed3b71e0e77579aae9903440300dd4f5778..4879d6b313ac9db3ca4fae81592712ee79ceea45 100644 (file)
--- 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)
index 44309c7fcfbbb67d7b17e824e86d13f64bfaac9a..27d8435785b6419a9b80eddeab0d53bb35d75fb3 100644 (file)
@@ -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 */      
index 91d50a3e63053f5d5dcd478fb1a8ad2ee93a8516..fac26e825b04f1f65db467469499a5dd527de463 100644 (file)
@@ -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;
index 64c71772278870fcae9286bae55f77f6e03f8d17..fbf6a04a5bfe218b9b3a10692e57fc051bf50f73 100644 (file)
@@ -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;