From: Quanah Gibson-Mount Date: Tue, 10 Mar 2009 00:16:47 +0000 (+0000) Subject: ITS#6005 X-Git-Tag: OPENLDAP_REL_ENG_2_4_16~38 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=8fb0e066a11bb8422ed6e23e885645533e0c5891;p=openldap ITS#6005 --- diff --git a/CHANGES b/CHANGES index 5d3003000f..856e5dc6ff 100644 --- a/CHANGES +++ b/CHANGES @@ -20,6 +20,8 @@ OpenLDAP 2.4.16 Engineering Fixed slapo-dynlist conversion to cn=config (ITS#6002) Fixed slapo-syncprov newCookie sync messages (ITS#5972) Fixed slapo-syncprov multiple CSN propagation (ITS#5973) + Build Environment + Cleaned up alloc/free functions for Windows (ITS#6005) Documentation admin24 clarified MMR URI requirements (ITS#5942,ITS#5987) Added ldapexop(1) manual page (ITS#5982) diff --git a/clients/tools/common.c b/clients/tools/common.c index 38f8441520..08d36118de 100644 --- a/clients/tools/common.c +++ b/clients/tools/common.c @@ -623,7 +623,7 @@ tool_args( int argc, char **argv ) } else if ( tool_is_oid( control ) ) { LDAPControl *tmpctrls, ctrl; - tmpctrls = (LDAPControl *)realloc( unknown_ctrls, + tmpctrls = (LDAPControl *)ber_memrealloc( unknown_ctrls, (unknown_ctrls_num + 1)*sizeof( LDAPControl ) ); if ( tmpctrls == NULL ) { fprintf( stderr, "%s: no memory?\n", prog ); @@ -1169,7 +1169,7 @@ tool_conn_setup( int dont, void (*private_setup)( LDAP * ) ) for ( i = 0; hosts[ i ] != NULL; i++ ) /* count'em */ ; - tmp = (char **)realloc( urls, sizeof( char * ) * ( nurls + i + 1 ) ); + tmp = (char **)ber_memrealloc( urls, sizeof( char * ) * ( nurls + i + 1 ) ); if ( tmp == NULL ) { fprintf( stderr, "DNS SRV: out of memory?\n" ); @@ -1203,7 +1203,7 @@ dnssrv_free:; ber_memfree( domain ); } else { - tmp = (char **)realloc( urls, sizeof( char * ) * ( nurls + 2 ) ); + tmp = (char **)ber_memrealloc( urls, sizeof( char * ) * ( nurls + 2 ) ); if ( tmp == NULL ) { fprintf( stderr, "DNS SRV: out of memory?\n" ); diff --git a/clients/tools/ldappasswd.c b/clients/tools/ldappasswd.c index b3a6ad6030..d163850054 100644 --- a/clients/tools/ldappasswd.c +++ b/clients/tools/ldappasswd.c @@ -379,7 +379,7 @@ main( int argc, char *argv[] ) perror( "ber_scanf" ); } else { printf(_("New password: %s\n"), s); - free( s ); + ber_memfree( s ); } ber_free( ber, 1 ); diff --git a/clients/tools/ldapsearch.c b/clients/tools/ldapsearch.c index a91b586f39..eaa95920a2 100644 --- a/clients/tools/ldapsearch.c +++ b/clients/tools/ldapsearch.c @@ -1024,8 +1024,8 @@ getNextPage: tool_server_controls( ld, c, i ); - ber_free( seber, 1 ); - ber_free( vrber, 1 ); + if ( seber ) ber_free( seber, 1 ); + if ( vrber ) ber_free( vrber, 1 ); /* step back to the original number of controls, so that * those set while parsing args are preserved */ diff --git a/libraries/liblutil/passfile.c b/libraries/liblutil/passfile.c index 3c44e91a4f..7e7edbaf0b 100644 --- a/libraries/liblutil/passfile.c +++ b/libraries/liblutil/passfile.c @@ -62,7 +62,7 @@ lutil_get_filed_password( } #endif /* HAVE_FSTAT */ - passwd->bv_val = (char *) malloc( passwd->bv_len + 1 ); + passwd->bv_val = (char *) ber_memalloc( passwd->bv_len + 1 ); if( passwd->bv_val == NULL ) { perror( filename ); return -1; @@ -73,10 +73,10 @@ lutil_get_filed_password( do { if( nleft == 0 ) { /* double the buffer size */ - char *p = (char *) realloc( passwd->bv_val, + char *p = (char *) ber_memrealloc( passwd->bv_val, 2 * passwd->bv_len + 1 ); if( p == NULL ) { - free( passwd->bv_val ); + ber_memfree( passwd->bv_val ); passwd->bv_val = NULL; passwd->bv_len = 0; return -1; @@ -89,7 +89,7 @@ lutil_get_filed_password( nr = fread( &passwd->bv_val[nread], 1, nleft, f ); if( nr < nleft && ferror( f ) ) { - free( passwd->bv_val ); + ber_memfree( passwd->bv_val ); passwd->bv_val = NULL; passwd->bv_len = 0; return -1; diff --git a/libraries/liblutil/passwd.c b/libraries/liblutil/passwd.c index 0f83f6bdf1..5a141fd207 100644 --- a/libraries/liblutil/passwd.c +++ b/libraries/liblutil/passwd.c @@ -1107,7 +1107,7 @@ static int hash_crypt( int lutil_salt_format(const char *format) { #ifdef SLAPD_CRYPT - free( salt_format ); + ber_memfree( salt_format ); salt_format = format != NULL ? ber_strdup( format ) : NULL; #endif diff --git a/libraries/librewrite/rewrite-int.h b/libraries/librewrite/rewrite-int.h index 3af3366101..8f9c437693 100644 --- a/libraries/librewrite/rewrite-int.h +++ b/libraries/librewrite/rewrite-int.h @@ -39,6 +39,13 @@ #include +#define malloc(x) ber_memalloc(x) +#define calloc(x,y) ber_memcalloc(x,y) +#define realloc(x,y) ber_memrealloc(x,y) +#define free(x) ber_memfree(x) +#undef strdup +#define strdup(x) ber_strdup(x) + /* Uncomment to use ldap pvt threads */ #define USE_REWRITE_LDAP_PVT_THREADS #include diff --git a/servers/slapd/alock.c b/servers/slapd/alock.c index 19fbe4ad35..9c4fd72f5c 100644 --- a/servers/slapd/alock.c +++ b/servers/slapd/alock.c @@ -23,6 +23,7 @@ #if SLAPD_BDB || SLAPD_HDB +#include #include "alock.h" #include "lutil.h" @@ -238,8 +239,8 @@ alock_read_slot ( alock_info_t * info, slot_data->al_stamp = alock_read_iattr (slotbuf+16); slot_data->al_pid = alock_read_iattr (slotbuf+24); - if (slot_data->al_appname) free (slot_data->al_appname); - slot_data->al_appname = calloc (1, ALOCK_MAX_APPNAME); + if (slot_data->al_appname) ber_memfree (slot_data->al_appname); + slot_data->al_appname = ber_memcalloc (1, ALOCK_MAX_APPNAME); if (slot_data->al_appname == NULL) { return -1; } @@ -306,7 +307,7 @@ alock_query_slot ( alock_info_t * info ) (void) memset ((void *) &slot_data, 0, sizeof (alock_slot_t)); alock_read_slot (info, &slot_data); - if (slot_data.al_appname != NULL) free (slot_data.al_appname); + if (slot_data.al_appname != NULL) ber_memfree (slot_data.al_appname); slot_data.al_appname = NULL; nosave = slot_data.al_lock & ALOCK_NOSAVE; @@ -349,24 +350,24 @@ alock_open ( alock_info_t * info, slot_data.al_lock = locktype; slot_data.al_stamp = time(NULL); slot_data.al_pid = getpid(); - slot_data.al_appname = calloc (1, ALOCK_MAX_APPNAME); + slot_data.al_appname = ber_memcalloc (1, ALOCK_MAX_APPNAME); if (slot_data.al_appname == NULL) { return ALOCK_UNSTABLE; } strncpy (slot_data.al_appname, appname, ALOCK_MAX_APPNAME-1); slot_data.al_appname [ALOCK_MAX_APPNAME-1] = '\0'; - filename = calloc (1, strlen (envdir) + strlen ("/alock") + 1); + filename = ber_memcalloc (1, strlen (envdir) + strlen ("/alock") + 1); if (filename == NULL ) { - free (slot_data.al_appname); + ber_memfree (slot_data.al_appname); return ALOCK_UNSTABLE; } ptr = lutil_strcopy(filename, envdir); lutil_strcopy(ptr, "/alock"); info->al_fd = open (filename, O_CREAT|O_RDWR, 0666); - free (filename); + ber_memfree (filename); if (info->al_fd < 0) { - free (slot_data.al_appname); + ber_memfree (slot_data.al_appname); return ALOCK_UNSTABLE; } info->al_slot = 0; @@ -374,14 +375,14 @@ alock_open ( alock_info_t * info, res = alock_grab_lock (info->al_fd, 0); if (res == -1) { close (info->al_fd); - free (slot_data.al_appname); + ber_memfree (slot_data.al_appname); return ALOCK_UNSTABLE; } res = fstat (info->al_fd, &statbuf); if (res == -1) { close (info->al_fd); - free (slot_data.al_appname); + ber_memfree (slot_data.al_appname); return ALOCK_UNSTABLE; } @@ -410,7 +411,7 @@ alock_open ( alock_info_t * info, } else if (res == ALOCK_UNIQUE && locktype == ALOCK_UNIQUE) { close (info->al_fd); - free (slot_data.al_appname); + ber_memfree (slot_data.al_appname); return ALOCK_BUSY; } else if (res == ALOCK_DIRTY) { @@ -418,7 +419,7 @@ alock_open ( alock_info_t * info, } else if (res == -1) { close (info->al_fd); - free (slot_data.al_appname); + ber_memfree (slot_data.al_appname); return ALOCK_UNSTABLE; } @@ -427,7 +428,7 @@ alock_open ( alock_info_t * info, if (dirty_count && live_count) { close (info->al_fd); - free (slot_data.al_appname); + ber_memfree (slot_data.al_appname); return ALOCK_UNSTABLE; } @@ -436,11 +437,11 @@ alock_open ( alock_info_t * info, info->al_slot); if (res == -1) { close (info->al_fd); - free (slot_data.al_appname); + ber_memfree (slot_data.al_appname); return ALOCK_UNSTABLE; } res = alock_write_slot (info, &slot_data); - free (slot_data.al_appname); + ber_memfree (slot_data.al_appname); if (res == -1) { close (info->al_fd); return ALOCK_UNSTABLE; @@ -549,7 +550,7 @@ alock_close ( alock_info_t * info, int nosave ) if (res == -1) { close (info->al_fd); if (slot_data.al_appname != NULL) - free (slot_data.al_appname); + ber_memfree (slot_data.al_appname); return ALOCK_UNSTABLE; } slot_data.al_lock = ALOCK_UNLOCKED; @@ -559,11 +560,11 @@ alock_close ( alock_info_t * info, int nosave ) if (res == -1) { close (info->al_fd); if (slot_data.al_appname != NULL) - free (slot_data.al_appname); + ber_memfree (slot_data.al_appname); return ALOCK_UNSTABLE; } if (slot_data.al_appname != NULL) { - free (slot_data.al_appname); + ber_memfree (slot_data.al_appname); slot_data.al_appname = NULL; } @@ -635,11 +636,11 @@ alock_recover ( alock_info_t * info ) if (res == -1) { close (info->al_fd); if (slot_data.al_appname != NULL) - free (slot_data.al_appname); + ber_memfree (slot_data.al_appname); return ALOCK_UNSTABLE; } if (slot_data.al_appname != NULL) { - free (slot_data.al_appname); + ber_memfree (slot_data.al_appname); slot_data.al_appname = NULL; } diff --git a/servers/slapd/sl_malloc.c b/servers/slapd/sl_malloc.c index 89614e55a8..a5d8760b64 100644 --- a/servers/slapd/sl_malloc.c +++ b/servers/slapd/sl_malloc.c @@ -195,7 +195,7 @@ slap_sl_mem_create( if (size > (char *)sh->sh_end - (char *)sh->sh_base) { void *newptr; - newptr = realloc( sh->sh_base, size ); + newptr = ch_realloc( sh->sh_base, size ); if ( newptr == NULL ) return NULL; sh->sh_base = newptr; } diff --git a/tests/progs/slapd-bind.c b/tests/progs/slapd-bind.c index 1b597f27f0..cb3c983bd9 100644 --- a/tests/progs/slapd-bind.c +++ b/tests/progs/slapd-bind.c @@ -591,7 +591,7 @@ novals:; if ( dns ) { for ( i = 0; i < ndns; i++ ) { - free( dns[i] ); + ber_memfree( dns[i] ); } free( dns ); } @@ -599,7 +599,7 @@ novals:; if ( creds ) { for ( i = 0; i < ndns; i++ ) { if ( creds[i].bv_val != nullstr ) { - free( creds[i].bv_val ); + ber_memfree( creds[i].bv_val ); } } free( creds );