Replace strdup() with ch_strdup() such that exit() will be called

if strdup fails.  This is better than not checking, but we should
add orderly shutdown.
This commit is contained in:
Kurt Zeilenga 1998-11-27 20:21:54 +00:00
parent 9b09d42a1d
commit e2ee741ea8
38 changed files with 115 additions and 95 deletions

View file

@ -50,7 +50,7 @@ access_allowed(
return( 0 );
}
edn = dn_normalize_case( strdup( e->e_dn ) );
edn = dn_normalize_case( ch_strdup( e->e_dn ) );
Debug( LDAP_DEBUG_ACL, "\n=> access_allowed: entry (%s) attr (%s)\n",
e->e_dn, attr, 0 );
@ -250,7 +250,7 @@ acl_access_allowed(
odn = NULL;
if ( op->o_dn != NULL ) {
odn = dn_normalize_case( strdup( op->o_dn ) );
odn = dn_normalize_case( ch_strdup( op->o_dn ) );
bv.bv_val = odn;
bv.bv_len = strlen( odn );
}
@ -400,7 +400,7 @@ acl_check_mods(
struct acl *a;
char *edn;
edn = dn_normalize_case( strdup( e->e_dn ) );
edn = dn_normalize_case( ch_strdup( e->e_dn ) );
for ( ; mods != NULL; mods = mods->mod_next ) {
regmatch_t matches[MAXREMATCHES];

View file

@ -120,7 +120,7 @@ parse_acl(
fname, lineno, right, buf );
acl_usage();
}
a->acl_dnpat = strdup( ".*" );
a->acl_dnpat = ch_strdup( ".*" );
continue;
}
@ -152,7 +152,7 @@ parse_acl(
acl_usage();
} else {
a->acl_dnpat = dn_upcase(strdup( right ));
a->acl_dnpat = dn_upcase(ch_strdup( right ));
}
} else if ( strncasecmp( left, "attr", 4 )
== 0 ) {
@ -194,14 +194,14 @@ parse_acl(
/* get <who> */
split( argv[i], '=', &left, &right );
if ( strcasecmp( argv[i], "*" ) == 0 ) {
b->a_dnpat = strdup( ".*" );
b->a_dnpat = ch_strdup( ".*" );
} else if ( strcasecmp( argv[i], "self" ) == 0 ) {
b->a_dnpat = strdup( "self" );
b->a_dnpat = ch_strdup( "self" );
} else if ( strcasecmp( left, "dn" ) == 0 ) {
regtest(fname, lineno, right);
b->a_dnpat = dn_upcase( strdup( right ) );
b->a_dnpat = dn_upcase( ch_strdup( right ) );
} else if ( strcasecmp( left, "dnattr" ) == 0 ) {
b->a_dnattr = strdup( right );
b->a_dnattr = ch_strdup( right );
#ifdef SLAPD_ACLGROUPS
} else if ( strcasecmp( left, "group" ) == 0 ) {
@ -217,21 +217,21 @@ parse_acl(
*name++ = '\0';
}
b->a_group = dn_upcase(strdup( right ));
b->a_group = dn_upcase(ch_strdup( right ));
if (value && *value) {
b->a_objectclassvalue = strdup(value);
b->a_objectclassvalue = ch_strdup(value);
*--value = '/';
}
else
b->a_objectclassvalue = strdup("groupOfNames");
b->a_objectclassvalue = ch_strdup("groupOfNames");
if (name && *name) {
b->a_groupattrname = strdup(name);
b->a_groupattrname = ch_strdup(name);
*--name = '/';
}
else
b->a_groupattrname = strdup("member");
b->a_groupattrname = ch_strdup("member");
@ -239,7 +239,7 @@ parse_acl(
} else if ( strcasecmp( left, "domain" ) == 0 ) {
char *s;
regtest(fname, lineno, right);
b->a_domainpat = strdup( right );
b->a_domainpat = ch_strdup( right );
/* normalize the domain */
for ( s = b->a_domainpat; *s; s++ ) {
@ -247,7 +247,7 @@ parse_acl(
}
} else if ( strcasecmp( left, "addr" ) == 0 ) {
regtest(fname, lineno, right);
b->a_addrpat = strdup( right );
b->a_addrpat = ch_strdup( right );
} else {
fprintf( stderr,
"%s: line %d: expecting <who> got \"%s\"\n",

View file

@ -57,7 +57,7 @@ do_add( Connection *conn, Operation *op )
return;
}
e->e_dn = dn;
dn = dn_normalize( strdup( dn ) );
dn = dn_normalize( ch_strdup( dn ) );
Debug( LDAP_DEBUG_ARGS, " do_add: dn (%s)\n", dn, 0, 0 );
/* get the attrs */

View file

@ -77,7 +77,7 @@ attr_merge_fast(
if ( **a == NULL ) {
**a = (Attribute *) ch_malloc( sizeof(Attribute) );
(**a)->a_type = attr_normalize( strdup( type ) );
(**a)->a_type = attr_normalize( ch_strdup( type ) );
(**a)->a_vals = NULL;
(**a)->a_syntax = attr_syntax( type );
(**a)->a_next = NULL;
@ -112,7 +112,7 @@ attr_merge(
if ( *a == NULL ) {
*a = (Attribute *) ch_malloc( sizeof(Attribute) );
(*a)->a_type = attr_normalize( strdup( type ) );
(*a)->a_type = attr_normalize( ch_strdup( type ) );
(*a)->a_vals = NULL;
(*a)->a_syntax = attr_syntax( type );
(*a)->a_next = NULL;

View file

@ -24,7 +24,7 @@ ldbm_back_add(
Entry *p = NULL;
int rc;
dn = dn_normalize( strdup( e->e_dn ) );
dn = dn_normalize( ch_strdup( e->e_dn ) );
Debug(LDAP_DEBUG_ARGS, "==> ldbm_back_add: %s\n", dn, 0, 0);

View file

@ -54,8 +54,8 @@ Entry *derefAlias_r ( Backend *be,
Debug( LDAP_DEBUG_TRACE, "<= %s is an alias for %s\n",
e->e_dn, a->a_vals[0]->bv_val, 0 );
newDN = strdup (a->a_vals[0]->bv_val);
oldDN = strdup (e->e_dn);
newDN = ch_strdup (a->a_vals[0]->bv_val);
oldDN = ch_strdup (e->e_dn);
/*
* ok, so what happens if there is an alias in the DN of a dereferenced
@ -124,7 +124,7 @@ char *derefDN ( Backend *be,
"<= dereferencing dn %s\n",
dn, 0, 0 );
newDN = strdup ( dn );
newDN = ch_strdup ( dn );
/* while we don't have a matched dn, deref the DN */
for ( depth = 0;
@ -212,7 +212,7 @@ char *derefDN ( Backend *be,
if ( (eNew = dn2entry_r( be, newDN, &matched )) != NULL) {
if ((eDeref = derefAlias_r( be, conn, op, eNew )) != NULL) {
free (newDN);
newDN = strdup (eDeref->e_dn);
newDN = ch_strdup (eDeref->e_dn);
/* free reader lock */
cache_return_entry_r(&li->li_cache, eDeref);
}
@ -232,7 +232,7 @@ char *derefDN ( Backend *be,
}
if (newDN == NULL) {
newDN = strdup ( dn );
newDN = ch_strdup ( dn );
}
Debug( LDAP_DEBUG_TRACE, "<= returning deref DN of %s\n", newDN, 0, 0 );

View file

@ -101,7 +101,7 @@ attr_index_config(
}
for ( i = 0; attrs[i] != NULL; i++ ) {
a = (struct attrinfo *) ch_malloc( sizeof(struct attrinfo) );
a->ai_type = strdup( attrs[i] );
a->ai_type = ch_strdup( attrs[i] );
a->ai_syntaxmask = attr_syntax( a->ai_type );
if ( argc == 1 ) {
a->ai_indexmask = (INDEX_PRESENCE | INDEX_EQUALITY |

View file

@ -35,7 +35,7 @@ ldbm_back_config(
fname, lineno );
exit( 1 );
}
li->li_directory = strdup( argv[1] );
li->li_directory = ch_strdup( argv[1] );
/* mode with which to create new database files */
} else if ( strcasecmp( argv[0], "mode" ) == 0 ) {

View file

@ -100,7 +100,7 @@ ldbm_cache_open(
pthread_mutex_unlock( &li->li_dbcache_mutex );
return( NULL );
}
li->li_dbcache[i].dbc_name = strdup( buf );
li->li_dbcache[i].dbc_name = ch_strdup( buf );
li->li_dbcache[i].dbc_refcnt = 1;
li->li_dbcache[i].dbc_lastref = curtime;
if ( stat( buf, &st ) == 0 ) {

View file

@ -37,7 +37,7 @@ dn2id_add(
return( -1 );
}
dn = strdup( dn );
dn = ch_strdup( dn );
dn_normalize_case( dn );
key.dptr = dn;
@ -73,7 +73,7 @@ dn2id(
memset( &data, 0, sizeof( data ) );
#endif
dn = strdup( dn );
dn = ch_strdup( dn );
Debug( LDAP_DEBUG_TRACE, "=> dn2id( \"%s\" )\n", dn, 0, 0 );
dn_normalize_case( dn );

View file

@ -32,7 +32,7 @@ index_add_entry(
* with index_add_values() call
*/
bv.bv_val = strdup( e->e_dn );
bv.bv_val = ch_strdup( e->e_dn );
bv.bv_len = strlen( bv.bv_val );
(void) dn_normalize_case( bv.bv_val );
bvals[0] = &bv;

View file

@ -60,7 +60,7 @@ ldbm_back_init(
attr_index_config( li, "ldbm id2children initialization", 0, 2, argv,
1 );
argv[ 0 ] = "objectclass";
argv[ 1 ] = strdup( "pres,eq" );
argv[ 1 ] = ch_strdup( "pres,eq" );
argv[ 2 ] = NULL;
attr_index_config( li, "ldbm objectclass initialization", 0, 2, argv,
1 );

View file

@ -60,7 +60,7 @@ ldbm_back_modrdn(
strcat( newdn, pdn );
}
} else {
newdn = strdup( newrdn );
newdn = ch_strdup( newrdn );
}
(void) dn_normalize( newdn );

View file

@ -75,13 +75,15 @@ ldbm_back_search(
* check and apply aliasing where the dereferencing applies to
* the subordinates of the base
*/
realBase = strdup (base);
switch ( deref ) {
case LDAP_DEREF_FINDING:
case LDAP_DEREF_ALWAYS:
free (realBase);
realBase = derefDN ( be, conn, op, base );
break;
default:
realBase = ch_strdup(base);
}
(void) dn_normalize (realBase);
@ -205,7 +207,7 @@ ldbm_back_search(
}
free( dn );
} else if ( scope == LDAP_SCOPE_SUBTREE ) {
dn = strdup( e->e_dn );
dn = ch_strdup( e->e_dn );
(void) dn_normalize( dn );
scopeok = dn_issuffix( dn, realBase );
free( dn );
@ -358,9 +360,9 @@ onelevel_candidates(
f->f_choice = LDAP_FILTER_AND;
f->f_and = (Filter *) ch_malloc( sizeof(Filter) );
f->f_and->f_choice = LDAP_FILTER_EQUALITY;
f->f_and->f_ava.ava_type = strdup( "id2children" );
f->f_and->f_ava.ava_type = ch_strdup( "id2children" );
sprintf( buf, "%ld", e != NULL ? e->e_id : 0 );
f->f_and->f_ava.ava_value.bv_val = strdup( buf );
f->f_and->f_ava.ava_value.bv_val = ch_strdup( buf );
f->f_and->f_ava.ava_value.bv_len = strlen( buf );
f->f_and->f_next = filter;
@ -429,9 +431,9 @@ subtree_candidates(
f->f_choice = LDAP_FILTER_OR;
f->f_or = (Filter *) ch_malloc( sizeof(Filter) );
f->f_or->f_choice = LDAP_FILTER_EQUALITY;
f->f_or->f_avtype = strdup( "objectclass" );
f->f_or->f_avtype = ch_strdup( "objectclass" );
/* Patch to use normalized uppercase */
f->f_or->f_avvalue.bv_val = strdup( "REFERRAL" );
f->f_or->f_avvalue.bv_val = ch_strdup( "REFERRAL" );
f->f_or->f_avvalue.bv_len = strlen( "REFERRAL" );
f->f_or->f_next = filter;
filter = f;
@ -442,10 +444,10 @@ subtree_candidates(
f->f_choice = LDAP_FILTER_AND;
f->f_and = (Filter *) ch_malloc( sizeof(Filter) );
f->f_and->f_choice = LDAP_FILTER_SUBSTRINGS;
f->f_and->f_sub_type = strdup( "dn" );
f->f_and->f_sub_type = ch_strdup( "dn" );
f->f_and->f_sub_initial = NULL;
f->f_and->f_sub_any = NULL;
f->f_and->f_sub_final = strdup( base );
f->f_and->f_sub_final = ch_strdup( base );
value_normalize( f->f_and->f_sub_final, SYNTAX_CIS );
f->f_and->f_next = filter;
filter = f;

View file

@ -28,7 +28,7 @@ passwd_back_config(
fname, lineno );
exit( 1 );
}
be->be_private = strdup( argv[1] );
be->be_private = ch_strdup( argv[1] );
#else /* HAVE_SETPWFILE */
fprintf( stderr,
"%s: line %d: ignoring \"file\" option (not supported on this platform)\n",

View file

@ -135,7 +135,7 @@ pw2entry( Backend *be, struct passwd *pw )
e->e_attrs = NULL;
sprintf( buf, "%s@%s", pw->pw_name, be->be_suffix[0] );
e->e_dn = strdup( buf );
e->e_dn = ch_strdup( buf );
val.bv_val = pw->pw_name;
val.bv_len = strlen( pw->pw_name );

View file

@ -164,7 +164,7 @@ do_bind(
if ( conn->c_dn != NULL ) {
free( conn->c_dn );
}
conn->c_dn = strdup( dn );
conn->c_dn = ch_strdup( dn );
pthread_mutex_unlock( &conn->c_dnmutex );
/* send this here to avoid a race condition */

View file

@ -3,6 +3,7 @@
#include "portable.h"
#include <stdio.h>
#include <stdlib.h>
#include <ac/string.h>
#include <ac/socket.h>
@ -60,3 +61,19 @@ ch_calloc(
return( new );
}
char *
ch_strdup(
const char *string
)
{
char *new;
if ( (new = strdup( string )) == NULL ) {
Debug( LDAP_DEBUG_ANY, "strdup(%s) failed\n", string, 0, 0 );
exit( 1 );
}
return( new );
}

View file

@ -102,7 +102,7 @@ charray_dup( char **a )
new = (char **) ch_malloc( (i + 1) * sizeof(char *) );
for ( i = 0; a[i] != NULL; i++ ) {
new[i] = strdup( a[i] );
new[i] = ch_strdup( a[i] );
}
new[i] = NULL;
@ -117,7 +117,7 @@ str2charray( char *str, char *brkstr )
int i;
/* protect the input string from strtok */
str = strdup( str );
str = ch_strdup( str );
i = 1;
for ( s = str; *s; s++ ) {
@ -130,7 +130,7 @@ str2charray( char *str, char *brkstr )
i = 0;
for ( s = strtok( str, brkstr ); s != NULL; s = strtok( NULL,
brkstr ) ) {
res[i++] = strdup( s );
res[i++] = ch_strdup( s );
}
res[i] = NULL;

View file

@ -128,7 +128,7 @@ read_config( char *fname, Backend **bep, FILE *pfp )
"%s: line %d: suffix line must appear inside a database definition (ignored)\n",
fname, lineno, 0 );
} else {
dn = strdup( cargv[1] );
dn = ch_strdup( cargv[1] );
(void) dn_normalize( dn );
charray_add( &be->be_suffix, dn );
}
@ -155,11 +155,11 @@ read_config( char *fname, Backend **bep, FILE *pfp )
"%s: line %d: suffixAlias line must appear inside a database definition (ignored)\n",
fname, lineno, 0 );
} else {
dn = strdup( cargv[1] );
dn = ch_strdup( cargv[1] );
(void) dn_normalize( dn );
charray_add( &be->be_suffixAlias, dn );
dn = strdup( cargv[2] );
dn = ch_strdup( cargv[2] );
(void) dn_normalize( dn );
charray_add( &be->be_suffixAlias, dn );
}
@ -194,7 +194,7 @@ read_config( char *fname, Backend **bep, FILE *pfp )
"%s: line %d: rootdn line must appear inside a database definition (ignored)\n",
fname, lineno, 0 );
} else {
dn = strdup( cargv[1] );
dn = ch_strdup( cargv[1] );
(void) dn_normalize( dn );
be->be_rootdn = dn;
}
@ -212,7 +212,7 @@ read_config( char *fname, Backend **bep, FILE *pfp )
"%s: line %d: rootpw line must appear inside a database definition (ignored)\n",
fname, lineno, 0 );
} else {
be->be_rootpw = strdup( cargv[1] );
be->be_rootpw = ch_strdup( cargv[1] );
}
/* make this database read-only */
@ -328,7 +328,7 @@ read_config( char *fname, Backend **bep, FILE *pfp )
if ( strncasecmp( cargv[i], "host=", 5 )
== 0 ) {
charray_add( &be->be_replica,
strdup( cargv[i] + 5 ) );
ch_strdup( cargv[i] + 5 ) );
break;
}
}
@ -352,7 +352,7 @@ read_config( char *fname, Backend **bep, FILE *pfp )
"%s: line %d: updatedn line must appear inside a database definition (ignored)\n",
fname, lineno, 0 );
} else {
be->be_updatedn = strdup( cargv[1] );
be->be_updatedn = ch_strdup( cargv[1] );
(void) dn_normalize( be->be_updatedn );
}
@ -365,9 +365,9 @@ read_config( char *fname, Backend **bep, FILE *pfp )
exit( 1 );
}
if ( be ) {
be->be_replogfile = strdup( cargv[1] );
be->be_replogfile = ch_strdup( cargv[1] );
} else {
replogfile = strdup( cargv[1] );
replogfile = ch_strdup( cargv[1] );
}
/* maintain lastmodified{by,time} attributes */
@ -398,7 +398,7 @@ read_config( char *fname, Backend **bep, FILE *pfp )
fname, lineno, 0 );
exit( 1 );
}
savefname = strdup( cargv[1] );
savefname = ch_strdup( cargv[1] );
savelineno = lineno;
read_config( savefname, bep, NULL );
be = *bep;
@ -413,7 +413,7 @@ read_config( char *fname, Backend **bep, FILE *pfp )
fname, lineno, 0 );
exit( 1 );
}
ldap_srvtab = strdup( cargv[1] );
ldap_srvtab = ch_strdup( cargv[1] );
/* pass anything else to the current backend config routine */
} else {

View file

@ -43,7 +43,7 @@ config_info( Connection *conn, Operation *op )
entry_rdwr_init(e);
e->e_attrs = NULL;
e->e_dn = strdup( SLAPD_CONFIG_DN );
e->e_dn = ch_strdup( SLAPD_CONFIG_DN );
for ( i = 0; i < nbackends; i++ ) {
strcpy( buf, backends[i].be_type );

View file

@ -177,7 +177,7 @@ connection_activity(
pthread_mutex_lock( &conn->c_dnmutex );
if ( conn->c_dn != NULL ) {
tmpdn = strdup( conn->c_dn );
tmpdn = ch_strdup( conn->c_dn );
} else {
tmpdn = NULL;
}

View file

@ -304,13 +304,13 @@ slapd_daemon(
if ( c[ns].c_addr != NULL ) {
free( c[ns].c_addr );
}
c[ns].c_addr = strdup( client_addr );
c[ns].c_addr = ch_strdup( client_addr );
if ( c[ns].c_domain != NULL ) {
free( c[ns].c_domain );
}
c[ns].c_domain = strdup( client_name == NULL
c[ns].c_domain = ch_strdup( client_name == NULL
? "" : client_name );
pthread_mutex_lock( &c[ns].c_dnmutex );

View file

@ -41,7 +41,7 @@ do_delete(
send_ldap_result( conn, op, LDAP_PROTOCOL_ERROR, NULL, "" );
return;
}
odn = strdup( dn );
odn = ch_strdup( dn );
dn_normalize( dn );
Debug( LDAP_DEBUG_ARGS, "do_delete: dn (%s)\n", dn, 0, 0 );

View file

@ -179,7 +179,7 @@ dn_parent(
if ( *(s + 1) == '\0' ) {
return( NULL );
} else {
return( strdup( s + 1 ) );
return( ch_strdup( s + 1 ) );
}
}
@ -202,11 +202,11 @@ dn_parent(
if ( *s == '"' )
inquote = 1;
else if ( DNSEPARATOR( *s ) )
return( strdup( s + 1 ) );
return( ch_strdup( s + 1 ) );
}
}
return( strdup("") );
return( ch_strdup("") );
}
/*

View file

@ -91,7 +91,7 @@ str2entry( char *s )
e->e_id, e->e_dn, value );
continue;
}
e->e_dn = strdup( value );
e->e_dn = ch_strdup( value );
continue;
}

View file

@ -134,7 +134,7 @@ get_filter( Connection *conn, BerElement *ber, Filter **filt, char **fstr )
Debug( LDAP_DEBUG_FILTER, "AND\n", 0, 0, 0 );
if ( (err = get_filter_list( conn, ber, &f->f_and, &ftmp ))
== 0 ) {
if (ftmp == NULL) ftmp = strdup("");
if (ftmp == NULL) ftmp = ch_strdup("");
*fstr = ch_malloc( 4 + strlen( ftmp ) );
sprintf( *fstr, "(&%s)", ftmp );
free( ftmp );
@ -145,7 +145,7 @@ get_filter( Connection *conn, BerElement *ber, Filter **filt, char **fstr )
Debug( LDAP_DEBUG_FILTER, "OR\n", 0, 0, 0 );
if ( (err = get_filter_list( conn, ber, &f->f_or, &ftmp ))
== 0 ) {
if (ftmp == NULL) ftmp = strdup("");
if (ftmp == NULL) ftmp = ch_strdup("");
*fstr = ch_malloc( 4 + strlen( ftmp ) );
sprintf( *fstr, "(|%s)", ftmp );
free( ftmp );
@ -156,7 +156,7 @@ get_filter( Connection *conn, BerElement *ber, Filter **filt, char **fstr )
Debug( LDAP_DEBUG_FILTER, "NOT\n", 0, 0, 0 );
(void) ber_skip_tag( ber, &len );
if ( (err = get_filter( conn, ber, &f->f_not, &ftmp )) == 0 ) {
if (ftmp == NULL) ftmp = strdup("");
if (ftmp == NULL) ftmp = ch_strdup("");
*fstr = ch_malloc( 4 + strlen( ftmp ) );
sprintf( *fstr, "(!%s)", ftmp );
free( ftmp );

View file

@ -120,7 +120,7 @@ main( int argc, char **argv )
#endif
case 'f': /* read config file */
configfile = strdup( optarg );
configfile = ch_strdup( optarg );
break;
case 'i': /* run from inetd */
@ -148,9 +148,9 @@ main( int argc, char **argv )
Debug( LDAP_DEBUG_TRACE, "%s", Versionstr, 0, 0 );
if ( (myname = strrchr( argv[0], '/' )) == NULL ) {
myname = strdup( argv[0] );
myname = ch_strdup( argv[0] );
} else {
myname = strdup( myname + 1 );
myname = ch_strdup( myname + 1 );
}
if ( ! inetd ) {
@ -243,7 +243,7 @@ main( int argc, char **argv )
inet_ntoa( from.sin_addr ), 0 );
c.c_addr = inet_ntoa( from.sin_addr );
c.c_domain = strdup( hp == NULL ? "" : hp->h_name );
c.c_domain = ch_strdup( hp == NULL ? "" : hp->h_name );
} else {
Debug( LDAP_DEBUG_ARGS, "connection from unknown\n",
0, 0, 0 );

View file

@ -63,7 +63,7 @@ do_modify(
send_ldap_result( conn, op, LDAP_PROTOCOL_ERROR, NULL, "" );
return;
}
odn = strdup( dn );
odn = ch_strdup( dn );
dn_normalize( dn );
Debug( LDAP_DEBUG_ARGS, "do_modify: dn (%s)\n", dn, 0, 0 );
@ -241,7 +241,7 @@ add_lastmods( Operation *op, LDAPMod **mods )
bv.bv_len = strlen( bv.bv_val );
}
tmp = (LDAPMod *) ch_calloc( 1, sizeof(LDAPMod) );
tmp->mod_type = strdup( "modifiersname" );
tmp->mod_type = ch_strdup( "modifiersname" );
tmp->mod_op = LDAP_MOD_REPLACE;
tmp->mod_bvalues = (struct berval **) ch_calloc( 1,
2 * sizeof(struct berval *) );
@ -261,7 +261,7 @@ add_lastmods( Operation *op, LDAPMod **mods )
bv.bv_val = buf;
bv.bv_len = strlen( bv.bv_val );
tmp = (LDAPMod *) ch_calloc( 1, sizeof(LDAPMod) );
tmp->mod_type = strdup( "modifytimestamp" );
tmp->mod_type = ch_strdup( "modifytimestamp" );
tmp->mod_op = LDAP_MOD_REPLACE;
tmp->mod_bvalues = (struct berval **) ch_calloc( 1, 2 * sizeof(struct berval *) );
tmp->mod_bvalues[0] = ber_bvdup( &bv );

View file

@ -46,7 +46,7 @@ do_modrdn(
send_ldap_result( conn, op, LDAP_PROTOCOL_ERROR, NULL, "" );
return;
}
odn = strdup( dn );
odn = ch_strdup( dn );
dn_normalize( dn );
Debug( LDAP_DEBUG_ARGS,

View file

@ -48,7 +48,7 @@ monitor_info( Connection *conn, Operation *op )
/* initialize reader/writer lock */
entry_rdwr_init(e);
e->e_attrs = NULL;
e->e_dn = strdup( SLAPD_MONITOR_DN );
e->e_dn = ch_strdup( SLAPD_MONITOR_DN );
val.bv_val = Versionstr;
if (( p = strchr( Versionstr, '\n' )) == NULL ) {

View file

@ -45,7 +45,7 @@ op_add(
(*tmp)->o_msgid = msgid;
(*tmp)->o_tag = tag;
(*tmp)->o_abandon = 0;
(*tmp)->o_dn = strdup( dn != NULL ? dn : "" );
(*tmp)->o_dn = ch_strdup( dn != NULL ? dn : "" );
pthread_mutex_lock( &currenttime_mutex );
(*tmp)->o_time = currenttime;
pthread_mutex_unlock( &currenttime_mutex );

View file

@ -69,7 +69,7 @@ word_dup( char *w )
; /* NULL */
save = *s;
*s = '\0';
ret = strdup( w );
ret = ch_strdup( w );
*s = save;
return( ret );
@ -154,7 +154,7 @@ phonetic( char *s )
if ( i > 0 )
phoneme[i] = '\0';
return( strdup( phoneme ) );
return( ch_strdup( phoneme ) );
}
#else
@ -205,7 +205,7 @@ phonetic( char *Word )
Metaph = buf;
*Metaph = '\0';
if (n == ntrans + 4) {
return( strdup( buf ) ); /* Return if null */
return( ch_strdup( buf ) ); /* Return if null */
}
n_end = n; /* Set n_end to end of string */
@ -426,7 +426,7 @@ phonetic( char *Word )
}
*Metaph = 0; /* Null terminate */
return( strdup( buf ) );
return( ch_strdup( buf ) );
}
#endif /* metaphone */

View file

@ -66,6 +66,7 @@ void be_close LDAP_P(( void ));
void * ch_malloc LDAP_P(( unsigned long size ));
void * ch_realloc LDAP_P(( void *block, unsigned long size ));
void * ch_calloc LDAP_P(( unsigned long nelem, unsigned long size ));
char * ch_strdup LDAP_P(( const char *string ));
/*
* charray.c

View file

@ -196,7 +196,7 @@ send_search_entry(
return( 1 );
}
edn = dn_normalize_case( strdup( e->e_dn ) );
edn = dn_normalize_case( ch_strdup( e->e_dn ) );
#ifdef LDAP_COMPAT30
if ( (ber = ber_alloc_t( conn->c_version == 30 ? 0 : LBER_USE_DER ))

View file

@ -29,7 +29,7 @@ parse_oc(
struct objclass **ocp;
oc = (struct objclass *) ch_calloc( 1, sizeof(struct objclass) );
oc->oc_name = strdup( argv[1] );
oc->oc_name = ch_strdup( argv[1] );
for ( i = 2; i < argc; i++ ) {
/* required attributes */
if ( strcasecmp( argv[i], "requires" ) == 0 ) {

View file

@ -167,7 +167,7 @@ str2simple( char *str )
f->f_choice = LDAP_FILTER_PRESENT;
} else {
f->f_choice = LDAP_FILTER_SUBSTRINGS;
f->f_sub_type = strdup( str );
f->f_sub_type = ch_strdup( str );
if ( str2subvals( value, f ) != 0 ) {
filter_free( f );
*(value-1) = '=';
@ -180,10 +180,10 @@ str2simple( char *str )
}
if ( f->f_choice == LDAP_FILTER_PRESENT ) {
f->f_type = strdup( str );
f->f_type = ch_strdup( str );
} else {
f->f_avtype = strdup( str );
f->f_avvalue.bv_val = strdup( value );
f->f_avtype = ch_strdup( str );
f->f_avvalue.bv_val = ch_strdup( value );
f->f_avvalue.bv_len = strlen( value );
}
@ -206,11 +206,11 @@ str2subvals( char *val, Filter *f )
*nextstar++ = '\0';
if ( gotstar == 0 ) {
f->f_sub_initial = strdup( val );
f->f_sub_initial = ch_strdup( val );
} else if ( nextstar == NULL ) {
f->f_sub_final = strdup( val );
f->f_sub_final = ch_strdup( val );
} else {
charray_add( &f->f_sub_any, strdup( val ) );
charray_add( &f->f_sub_any, ch_strdup( val ) );
}
gotstar = 1;

View file

@ -39,12 +39,12 @@ char *suffixAlias (char *dn, Operation *op, Backend *be)
if (!strcasecmp(be->be_suffixAlias[i],
dn + (dnLength - aliasLength))) {
char *oldDN = dn;
op->o_suffixAliased = strdup ( be->be_suffixAlias[i] );
op->o_suffixAliased = ch_strdup ( be->be_suffixAlias[i] );
dn = ch_malloc ( (dnLength - aliasLength) +
strlen (be->be_suffixAlias[ i+1 ]) + 1);
strncpy (dn, oldDN, dnLength - aliasLength);
strcpy (dn + (dnLength - aliasLength), be->be_suffixAlias[ i+1 ]);
op->o_suffix = strdup (dn);
op->o_suffix = ch_strdup (dn);
Debug( LDAP_DEBUG_ARGS, "ALIAS: converted %s to %s", oldDN, dn, 0);
free (oldDN);
break;