Use LDAP_VFREE and friends. Other misc code cleanup.

This commit is contained in:
Kurt Zeilenga 2000-06-07 05:17:29 +00:00
parent 107e99e302
commit 6ad1c45bd3
18 changed files with 130 additions and 199 deletions

View file

@ -87,9 +87,6 @@ Package=<4>
Project_Dep_Name ldapsearch
End Project Dependency
Begin Project Dependency
Project_Dep_Name ldbmtest
End Project Dependency
Begin Project Dependency
Project_Dep_Name ldif
End Project Dependency
Begin Project Dependency
@ -276,42 +273,6 @@ Package=<4>
###############################################################################
Project: "ldbmtest"=..\servers\slapd\tools\ldbmtest.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name backldbm
End Project Dependency
Begin Project Dependency
Project_Dep_Name liblber
End Project Dependency
Begin Project Dependency
Project_Dep_Name libldap_r
End Project Dependency
Begin Project Dependency
Project_Dep_Name libldbm
End Project Dependency
Begin Project Dependency
Project_Dep_Name liblutil
End Project Dependency
Begin Project Dependency
Project_Dep_Name libslapd
End Project Dependency
Begin Project Dependency
Project_Dep_Name libavl
End Project Dependency
Begin Project Dependency
Project_Dep_Name libldif
End Project Dependency
}}}
###############################################################################
Project: "ldif"=..\servers\slapd\tools\ldif.dsp - Package Owner=<4>
Package=<5>

View file

@ -46,12 +46,10 @@
LIBLDAP_F(char *) ldap_pvt_strtok LDAP_P(( char *str, const char *delim,
char **pos ));
LIBLDAP_F(char *) ldap_pvt_strdup LDAP_P(( const char * s ));
#ifndef HAVE_STRDUP
/* strdup() is missing, declare our own version */
# undef strdup
# define strdup(s) ldap_pvt_strdup(s)
# define strdup(s) ber_strdup(s)
#else
/* some systems fail to declare strdup */
LIBC_F(char *) (strdup)();

View file

@ -149,13 +149,13 @@ ldap_init_templates_buf( char *buf, ber_len_t buflen,
*tmpllistp = prevtmpl = NULL;
if ( next_line_tokens( &buf, &buflen, &toks ) != 2 ||
if ( ldap_int_next_line_tokens( &buf, &buflen, &toks ) != 2 ||
strcasecmp( toks[ 0 ], "version" ) != 0 ) {
free_strarray( toks );
LDAP_VFREE( toks );
return( LDAP_TMPL_ERR_SYNTAX );
}
version = atoi( toks[ 1 ] );
free_strarray( toks );
LDAP_VFREE( toks );
if ( version != LDAP_TEMPLATE_VERSION ) {
return( LDAP_TMPL_ERR_VERSION );
}
@ -226,7 +226,7 @@ free_disptmpl( struct ldap_disptmpl *tmpl )
for ( ocp = tmpl->dt_oclist; ocp != NULL; ocp = nextocp ) {
nextocp = ocp->oc_next;
free_strarray( ocp->oc_objclasses );
LDAP_VFREE( ocp->oc_objclasses );
LDAP_FREE( ocp );
}
}
@ -260,7 +260,7 @@ free_disptmpl( struct ldap_disptmpl *tmpl )
LDAP_FREE( colp->ti_label );
}
if ( colp->ti_args != NULL ) {
free_strarray( colp->ti_args );
LDAP_VFREE( colp->ti_args );
}
LDAP_FREE( colp );
}
@ -457,14 +457,14 @@ read_next_tmpl( char **bufp, ber_len_t *blenp, struct ldap_disptmpl **tmplp,
/*
* template name comes first
*/
if (( tokcnt = next_line_tokens( bufp, blenp, &toks )) != 1 ) {
free_strarray( toks );
if (( tokcnt = ldap_int_next_line_tokens( bufp, blenp, &toks )) != 1 ) {
LDAP_VFREE( toks );
return( tokcnt == 0 ? 0 : LDAP_TMPL_ERR_SYNTAX );
}
if (( tmpl = (struct ldap_disptmpl *)LDAP_CALLOC( 1,
sizeof( struct ldap_disptmpl ))) == NULL ) {
free_strarray( toks );
LDAP_VFREE( toks );
return( LDAP_TMPL_ERR_MEM );
}
tmpl->dt_name = toks[ 0 ];
@ -473,8 +473,8 @@ read_next_tmpl( char **bufp, ber_len_t *blenp, struct ldap_disptmpl **tmplp,
/*
* template plural name comes next
*/
if (( tokcnt = next_line_tokens( bufp, blenp, &toks )) != 1 ) {
free_strarray( toks );
if (( tokcnt = ldap_int_next_line_tokens( bufp, blenp, &toks )) != 1 ) {
LDAP_VFREE( toks );
free_disptmpl( tmpl );
return( LDAP_TMPL_ERR_SYNTAX );
}
@ -484,8 +484,8 @@ read_next_tmpl( char **bufp, ber_len_t *blenp, struct ldap_disptmpl **tmplp,
/*
* template icon name is next
*/
if (( tokcnt = next_line_tokens( bufp, blenp, &toks )) != 1 ) {
free_strarray( toks );
if (( tokcnt = ldap_int_next_line_tokens( bufp, blenp, &toks )) != 1 ) {
LDAP_VFREE( toks );
free_disptmpl( tmpl );
return( LDAP_TMPL_ERR_SYNTAX );
}
@ -495,8 +495,8 @@ read_next_tmpl( char **bufp, ber_len_t *blenp, struct ldap_disptmpl **tmplp,
/*
* template options come next
*/
if (( tokcnt = next_line_tokens( bufp, blenp, &toks )) < 1 ) {
free_strarray( toks );
if (( tokcnt = ldap_int_next_line_tokens( bufp, blenp, &toks )) < 1 ) {
LDAP_VFREE( toks );
free_disptmpl( tmpl );
return( LDAP_TMPL_ERR_SYNTAX );
}
@ -507,15 +507,15 @@ read_next_tmpl( char **bufp, ber_len_t *blenp, struct ldap_disptmpl **tmplp,
}
}
}
free_strarray( toks );
LDAP_VFREE( toks );
/*
* object class list is next
*/
while (( tokcnt = next_line_tokens( bufp, blenp, &toks )) > 0 ) {
while (( tokcnt = ldap_int_next_line_tokens( bufp, blenp, &toks )) > 0 ) {
if (( ocp = (struct ldap_oclist *)LDAP_CALLOC( 1,
sizeof( struct ldap_oclist ))) == NULL ) {
free_strarray( toks );
LDAP_VFREE( toks );
free_disptmpl( tmpl );
return( LDAP_TMPL_ERR_MEM );
}
@ -535,8 +535,8 @@ read_next_tmpl( char **bufp, ber_len_t *blenp, struct ldap_disptmpl **tmplp,
/*
* read name of attribute to authenticate as
*/
if (( tokcnt = next_line_tokens( bufp, blenp, &toks )) != 1 ) {
free_strarray( toks );
if (( tokcnt = ldap_int_next_line_tokens( bufp, blenp, &toks )) != 1 ) {
LDAP_VFREE( toks );
free_disptmpl( tmpl );
return( LDAP_TMPL_ERR_SYNTAX );
}
@ -550,8 +550,8 @@ read_next_tmpl( char **bufp, ber_len_t *blenp, struct ldap_disptmpl **tmplp,
/*
* read default attribute to use for RDN
*/
if (( tokcnt = next_line_tokens( bufp, blenp, &toks )) != 1 ) {
free_strarray( toks );
if (( tokcnt = ldap_int_next_line_tokens( bufp, blenp, &toks )) != 1 ) {
LDAP_VFREE( toks );
free_disptmpl( tmpl );
return( LDAP_TMPL_ERR_SYNTAX );
}
@ -561,8 +561,8 @@ read_next_tmpl( char **bufp, ber_len_t *blenp, struct ldap_disptmpl **tmplp,
/*
* read default location for new entries
*/
if (( tokcnt = next_line_tokens( bufp, blenp, &toks )) != 1 ) {
free_strarray( toks );
if (( tokcnt = ldap_int_next_line_tokens( bufp, blenp, &toks )) != 1 ) {
LDAP_VFREE( toks );
free_disptmpl( tmpl );
return( LDAP_TMPL_ERR_SYNTAX );
}
@ -576,7 +576,7 @@ read_next_tmpl( char **bufp, ber_len_t *blenp, struct ldap_disptmpl **tmplp,
/*
* read list of rules used to define default values for new entries
*/
while (( tokcnt = next_line_tokens( bufp, blenp, &toks )) > 0 ) {
while (( tokcnt = ldap_int_next_line_tokens( bufp, blenp, &toks )) > 0 ) {
if ( strcasecmp( ADDEF_CONSTANT, toks[ 0 ] ) == 0 ) {
adsource = LDAP_ADSRC_CONSTANTVALUE;
} else if ( strcasecmp( ADDEF_ADDERSDN, toks[ 0 ] ) == 0 ) {
@ -587,14 +587,14 @@ read_next_tmpl( char **bufp, ber_len_t *blenp, struct ldap_disptmpl **tmplp,
if ( adsource == 0 || tokcnt < 2 ||
( adsource == LDAP_ADSRC_CONSTANTVALUE && tokcnt != 3 ) ||
( adsource == LDAP_ADSRC_ADDERSDN && tokcnt != 2 )) {
free_strarray( toks );
LDAP_VFREE( toks );
free_disptmpl( tmpl );
return( LDAP_TMPL_ERR_SYNTAX );
}
if (( adp = (struct ldap_adddeflist *)LDAP_CALLOC( 1,
sizeof( struct ldap_adddeflist ))) == NULL ) {
free_strarray( toks );
LDAP_VFREE( toks );
free_disptmpl( tmpl );
return( LDAP_TMPL_ERR_MEM );
}
@ -618,17 +618,17 @@ read_next_tmpl( char **bufp, ber_len_t *blenp, struct ldap_disptmpl **tmplp,
* item list is next
*/
samerow = 0;
while (( tokcnt = next_line_tokens( bufp, blenp, &toks )) > 0 ) {
while (( tokcnt = ldap_int_next_line_tokens( bufp, blenp, &toks )) > 0 ) {
if ( strcasecmp( toks[ 0 ], "item" ) == 0 ) {
if ( tokcnt < 4 ) {
free_strarray( toks );
LDAP_VFREE( toks );
free_disptmpl( tmpl );
return( LDAP_TMPL_ERR_SYNTAX );
}
if (( ip = (struct ldap_tmplitem *)LDAP_CALLOC( 1,
sizeof( struct ldap_tmplitem ))) == NULL ) {
free_strarray( toks );
LDAP_VFREE( toks );
free_disptmpl( tmpl );
return( LDAP_TMPL_ERR_MEM );
}
@ -644,7 +644,7 @@ read_next_tmpl( char **bufp, ber_len_t *blenp, struct ldap_disptmpl **tmplp,
}
}
if ( itemoptions[ i ] == NULL ) {
free_strarray( toks );
LDAP_VFREE( toks );
free_disptmpl( tmpl );
return( LDAP_TMPL_ERR_SYNTAX );
}
@ -657,7 +657,7 @@ read_next_tmpl( char **bufp, ber_len_t *blenp, struct ldap_disptmpl **tmplp,
}
}
if ( itemtypes[ i ] == NULL ) {
free_strarray( toks );
LDAP_VFREE( toks );
free_disptmpl( tmpl );
return( LDAP_TMPL_ERR_SYNTAX );
}
@ -698,10 +698,10 @@ read_next_tmpl( char **bufp, ber_len_t *blenp, struct ldap_disptmpl **tmplp,
previp = ip;
samerow = 0;
} else if ( strcasecmp( toks[ 0 ], "samerow" ) == 0 ) {
free_strarray( toks );
LDAP_VFREE( toks );
samerow = 1;
} else {
free_strarray( toks );
LDAP_VFREE( toks );
free_disptmpl( tmpl );
return( LDAP_TMPL_ERR_SYNTAX );
}

View file

@ -39,9 +39,8 @@ static int next_line LDAP_P(( char **bufp, ber_len_t *blenp, char **linep ));
static char *next_token LDAP_P(( char ** sp ));
int
next_line_tokens( char **bufp, ber_len_t *blenp, char ***toksp )
ldap_int_next_line_tokens( char **bufp, ber_len_t *blenp, char ***toksp )
{
char *p, *line, *token, **toks;
int rc, tokcnt;
@ -72,7 +71,7 @@ next_line_tokens( char **bufp, ber_len_t *blenp, char ***toksp )
if ( tokcnt == 1 && strcasecmp( toks[ 0 ], "END" ) == 0 ) {
tokcnt = 0;
free_strarray( toks );
LDAP_VFREE( toks );
toks = NULL;
}
@ -195,17 +194,3 @@ next_token( char **sp )
return( LDAP_STRDUP( tokstart ));
}
void
free_strarray( char **sap )
{
int i;
if ( sap != NULL ) {
for ( i = 0; sap[ i ] != NULL; ++i ) {
LBER_FREE( sap[ i ] );
}
LBER_FREE( (char *)sap );
}
}

View file

@ -102,7 +102,7 @@ ldap_init_getfilter_buf( char *buf, ber_len_t buflen )
fip = NULL;
tag = NULL;
while ( buflen > 0 && ( tokcnt = next_line_tokens( &buf, &buflen, &tok ))
while ( buflen > 0 && ( tokcnt = ldap_int_next_line_tokens( &buf, &buflen, &tok ))
> 0 ) {
switch( tokcnt ) {
@ -131,7 +131,7 @@ ldap_init_getfilter_buf( char *buf, ber_len_t buflen )
nextflp->lfl_pattern, error );
errno = EINVAL;
#endif /* LDAP_LIBUI */
free_strarray( tok );
LDAP_VFREE( tok );
return( NULL );
}
regfree(&re);
@ -157,7 +157,7 @@ ldap_init_getfilter_buf( char *buf, ber_len_t buflen )
if (( nextfip = (LDAPFiltInfo *)LDAP_CALLOC( 1,
sizeof( LDAPFiltInfo ))) == NULL ) {
ldap_getfilter_free( lfdp );
free_strarray( tok );
LDAP_VFREE( tok );
return( NULL );
}
if ( fip == NULL ) { /* first one */
@ -177,7 +177,7 @@ ldap_init_getfilter_buf( char *buf, ber_len_t buflen )
} else if ( strcasecmp( tok[ 2 ], "base" ) == 0 ) {
nextfip->lfi_scope = LDAP_SCOPE_BASE;
} else {
free_strarray( tok );
LDAP_VFREE( tok );
ldap_getfilter_free( lfdp );
errno = EINVAL;
return( NULL );
@ -194,7 +194,7 @@ ldap_init_getfilter_buf( char *buf, ber_len_t buflen )
break;
default:
free_strarray( tok );
LDAP_VFREE( tok );
ldap_getfilter_free( lfdp );
errno = EINVAL;
return( NULL );

View file

@ -356,8 +356,7 @@ LIBLDAP_F (int) ldap_int_put_controls LDAP_P((
/*
* in dsparse.c
*/
LIBLDAP_F (int) next_line_tokens LDAP_P(( char **bufp, ber_len_t *blenp, char ***toksp ));
LIBLDAP_F (void) free_strarray LDAP_P(( char **sap ));
LIBLDAP_F (int) ldap_int_next_line_tokens LDAP_P(( char **bufp, ber_len_t *blenp, char ***toksp ));
#ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND
/*

View file

@ -67,7 +67,7 @@ ldap_int_timeval_dup( struct timeval **dest, const struct timeval *src )
return 0;
}
new = (struct timeval *) malloc(sizeof(struct timeval));
new = (struct timeval *) LDAP_MALLOC(sizeof(struct timeval));
if( new == NULL ) {
*dest = NULL;

View file

@ -132,7 +132,7 @@ free_and_return:
*referralsp = refs;
} else {
ldap_value_free( refs );
LDAP_VFREE( refs );
}
if( freeit ) {

View file

@ -419,7 +419,7 @@ ldap_free_connection( LDAP *ld, LDAPConn *lc, int force, int unbind )
if( lc->lconn_rebind_queue != NULL) {
int i;
for( i = 0; lc->lconn_rebind_queue[i] != NULL; i++) {
free_strarray(lc->lconn_rebind_queue[i]);
LDAP_VFREE(lc->lconn_rebind_queue[i]);
}
LDAP_FREE( lc->lconn_rebind_queue);
}
@ -723,7 +723,7 @@ ldap_chase_v3referrals( LDAP *ld, LDAPRequest *lr, char **refs, char **errstrp,
if( lc->lconn_rebind_queue != NULL) {
/* Release resources of previous list */
free_strarray(refarray);
LDAP_VFREE(refarray);
refarray = NULL;
ldap_free_urllist(srv);
srv = NULL;
@ -747,7 +747,7 @@ ldap_chase_v3referrals( LDAP *ld, LDAPRequest *lr, char **refs, char **errstrp,
}
} /* end for loop */
done:
free_strarray(refarray);
LDAP_VFREE(refarray);
ldap_free_urllist(srv);
LDAP_FREE( *errstrp );

View file

@ -742,12 +742,12 @@ ldap_pvt_sasl_getmechs ( LDAP *ld, char **pmechlist )
mechlist = array2str( values );
if ( mechlist == NULL ) {
ld->ld_errno = LDAP_NO_MEMORY;
ldap_value_free( values );
LDAP_VFREE( values );
ldap_msgfree( res );
return ld->ld_errno;
}
ldap_value_free( values );
LDAP_VFREE( values );
ldap_msgfree( res );
*pmechlist = mechlist;

View file

@ -1961,7 +1961,7 @@ ldap_str2objectclass( const char * s, int * code, const char ** errp, const int
}
static char *const err2text[] = {
"",
"Success",
"Out of memory",
"Unexpected token",
"Missing opening parenthesis",
@ -1977,7 +1977,7 @@ static char *const err2text[] = {
char *
ldap_scherr2str(int code)
{
if ( code < 1 || code >= (sizeof(err2text)/sizeof(char *)) ) {
if ( code < 0 || code >= (sizeof(err2text)/sizeof(char *)) ) {
return "Unknown error";
} else {
return err2text[code];

View file

@ -135,7 +135,7 @@ ldap_sort_entries(
*ep = et[i].et_msg;
ep = &(*ep)->lm_chain;
ldap_value_free( et[i].et_vals );
LDAP_VFREE( et[i].et_vals );
}
*ep = last;
LDAP_FREE( (char *) et );

View file

@ -111,13 +111,13 @@ ldap_init_searchprefs_buf(
*solistp = prevso = NULL;
if ( next_line_tokens( &buf, &buflen, &toks ) != 2 ||
if ( ldap_int_next_line_tokens( &buf, &buflen, &toks ) != 2 ||
strcasecmp( toks[ 0 ], "version" ) != 0 ) {
free_strarray( toks );
LDAP_VFREE( toks );
return( LDAP_SEARCHPREF_ERR_SYNTAX );
}
version = atoi( toks[ 1 ] );
free_strarray( toks );
LDAP_VFREE( toks );
if ( version != LDAP_SEARCHPREF_VERSION &&
version != LDAP_SEARCHPREF_VERSION_ZERO ) {
return( LDAP_SEARCHPREF_ERR_VERSION );
@ -250,14 +250,14 @@ read_next_searchobj(
/*
* Object type prompt comes first
*/
if (( tokcnt = next_line_tokens( bufp, blenp, &toks )) != 1 ) {
free_strarray( toks );
if (( tokcnt = ldap_int_next_line_tokens( bufp, blenp, &toks )) != 1 ) {
LDAP_VFREE( toks );
return( tokcnt == 0 ? 0 : LDAP_SEARCHPREF_ERR_SYNTAX );
}
if (( so = (struct ldap_searchobj *)LDAP_CALLOC( 1,
sizeof( struct ldap_searchobj ))) == NULL ) {
free_strarray( toks );
LDAP_VFREE( toks );
return( LDAP_SEARCHPREF_ERR_MEM );
}
so->so_objtypeprompt = toks[ 0 ];
@ -267,8 +267,8 @@ read_next_searchobj(
* if this is post-version zero, options come next
*/
if ( soversion > LDAP_SEARCHPREF_VERSION_ZERO ) {
if (( tokcnt = next_line_tokens( bufp, blenp, &toks )) < 1 ) {
free_strarray( toks );
if (( tokcnt = ldap_int_next_line_tokens( bufp, blenp, &toks )) < 1 ) {
LDAP_VFREE( toks );
ldap_free_searchprefs( so );
return( LDAP_SEARCHPREF_ERR_SYNTAX );
}
@ -279,14 +279,14 @@ read_next_searchobj(
}
}
}
free_strarray( toks );
LDAP_VFREE( toks );
}
/*
* "Fewer choices" prompt is next
*/
if (( tokcnt = next_line_tokens( bufp, blenp, &toks )) != 1 ) {
free_strarray( toks );
if (( tokcnt = ldap_int_next_line_tokens( bufp, blenp, &toks )) != 1 ) {
LDAP_VFREE( toks );
ldap_free_searchprefs( so );
return( LDAP_SEARCHPREF_ERR_SYNTAX );
}
@ -296,8 +296,8 @@ read_next_searchobj(
/*
* Filter prefix for "More Choices" searching is next
*/
if (( tokcnt = next_line_tokens( bufp, blenp, &toks )) != 1 ) {
free_strarray( toks );
if (( tokcnt = ldap_int_next_line_tokens( bufp, blenp, &toks )) != 1 ) {
LDAP_VFREE( toks );
ldap_free_searchprefs( so );
return( LDAP_SEARCHPREF_ERR_SYNTAX );
}
@ -307,8 +307,8 @@ read_next_searchobj(
/*
* "Fewer Choices" filter tag comes next
*/
if (( tokcnt = next_line_tokens( bufp, blenp, &toks )) != 1 ) {
free_strarray( toks );
if (( tokcnt = ldap_int_next_line_tokens( bufp, blenp, &toks )) != 1 ) {
LDAP_VFREE( toks );
ldap_free_searchprefs( so );
return( LDAP_SEARCHPREF_ERR_SYNTAX );
}
@ -318,8 +318,8 @@ read_next_searchobj(
/*
* Selection (disambiguation) attribute comes next
*/
if (( tokcnt = next_line_tokens( bufp, blenp, &toks )) != 1 ) {
free_strarray( toks );
if (( tokcnt = ldap_int_next_line_tokens( bufp, blenp, &toks )) != 1 ) {
LDAP_VFREE( toks );
ldap_free_searchprefs( so );
return( LDAP_SEARCHPREF_ERR_SYNTAX );
}
@ -329,8 +329,8 @@ read_next_searchobj(
/*
* Label for selection (disambiguation) attribute
*/
if (( tokcnt = next_line_tokens( bufp, blenp, &toks )) != 1 ) {
free_strarray( toks );
if (( tokcnt = ldap_int_next_line_tokens( bufp, blenp, &toks )) != 1 ) {
LDAP_VFREE( toks );
ldap_free_searchprefs( so );
return( LDAP_SEARCHPREF_ERR_SYNTAX );
}
@ -340,8 +340,8 @@ read_next_searchobj(
/*
* Search scope is next
*/
if (( tokcnt = next_line_tokens( bufp, blenp, &toks )) != 1 ) {
free_strarray( toks );
if (( tokcnt = ldap_int_next_line_tokens( bufp, blenp, &toks )) != 1 ) {
LDAP_VFREE( toks );
ldap_free_searchprefs( so );
return( LDAP_SEARCHPREF_ERR_SYNTAX );
}
@ -355,22 +355,22 @@ read_next_searchobj(
ldap_free_searchprefs( so );
return( LDAP_SEARCHPREF_ERR_SYNTAX );
}
free_strarray( toks );
LDAP_VFREE( toks );
/*
* "More Choices" search option list comes next
*/
sa = &( so->so_salist );
while (( tokcnt = next_line_tokens( bufp, blenp, &toks )) > 0 ) {
while (( tokcnt = ldap_int_next_line_tokens( bufp, blenp, &toks )) > 0 ) {
if ( tokcnt < 5 ) {
free_strarray( toks );
LDAP_VFREE( toks );
ldap_free_searchprefs( so );
return( LDAP_SEARCHPREF_ERR_SYNTAX );
}
if (( *sa = ( struct ldap_searchattr * ) LDAP_CALLOC( 1,
sizeof( struct ldap_searchattr ))) == NULL ) {
free_strarray( toks );
LDAP_VFREE( toks );
ldap_free_searchprefs( so );
return( LDAP_SEARCHPREF_ERR_MEM );
}
@ -395,15 +395,15 @@ read_next_searchobj(
* Match types are last
*/
sm = &( so->so_smlist );
while (( tokcnt = next_line_tokens( bufp, blenp, &toks )) > 0 ) {
while (( tokcnt = ldap_int_next_line_tokens( bufp, blenp, &toks )) > 0 ) {
if ( tokcnt < 2 ) {
free_strarray( toks );
LDAP_VFREE( toks );
ldap_free_searchprefs( so );
return( LDAP_SEARCHPREF_ERR_SYNTAX );
}
if (( *sm = ( struct ldap_searchmatch * ) LDAP_CALLOC( 1,
sizeof( struct ldap_searchmatch ))) == NULL ) {
free_strarray( toks );
LDAP_VFREE( toks );
ldap_free_searchprefs( so );
return( LDAP_SEARCHPREF_ERR_MEM );
}

View file

@ -97,20 +97,6 @@ char *(ldap_pvt_strtok)( char *str, const char *delim, char **pos )
return str;
}
char *
(ldap_pvt_strdup)( const char *s )
{
char *p;
size_t len = strlen( s ) + 1;
if ( (p = (char *) malloc( len )) == NULL ) {
return( NULL );
}
memcpy( p, s, len );
return( p );
}
char *
ldap_pvt_str2upper( char *str )
{

View file

@ -566,7 +566,7 @@ ldap_pvt_tls_connect( LDAP *ld, Sockbuf *sb, void *ctx_arg )
return 1;
if ((err = ERR_peek_error())) {
char buf[256];
ld->ld_error = ldap_strdup(ERR_error_string(err, buf));
ld->ld_error = LDAP_STRDUP(ERR_error_string(err, buf));
}
Debug( LDAP_DEBUG_ANY,"TLS: can't connect.\n",0,0,0);
ber_sockbuf_remove_io( sb, &ldap_pvt_sockbuf_io_tls,

View file

@ -185,7 +185,7 @@ ldap_ufn_search_ctx( LDAP *ld, char **ufncomp, int ncomp, char *prefix,
if ( err == -1 || err == LDAP_USER_CANCELLED ) {
if ( dns != NULL ) {
ldap_value_free( dns );
LDAP_VFREE( dns );
dns = NULL;
}
return( err );
@ -198,7 +198,7 @@ ldap_ufn_search_ctx( LDAP *ld, char **ufncomp, int ncomp, char *prefix,
goto tryagain;
} else {
if ( dns != NULL ) {
ldap_value_free( dns );
LDAP_VFREE( dns );
dns = NULL;
}
return( err );
@ -209,7 +209,7 @@ ldap_ufn_search_ctx( LDAP *ld, char **ufncomp, int ncomp, char *prefix,
if ( phase == 1 )
phase++;
if ( dns != NULL ) {
ldap_value_free( dns );
LDAP_VFREE( dns );
dns = NULL;
}
}
@ -246,7 +246,7 @@ ldap_ufn_search_ct(
attrsonly, res, cancelproc, cancelparm, tag1, tag2, tag3 );
if ( ldap_count_entries( ld, *res ) > 0 ) {
ldap_value_free( ufncomp );
LDAP_VFREE( ufncomp );
return( err );
} else {
ldap_msgfree( *res );
@ -255,21 +255,21 @@ ldap_ufn_search_ct(
}
if ( ld->ld_ufnprefix == NULL ) {
ldap_value_free( ufncomp );
LDAP_VFREE( ufncomp );
return( err );
}
/* if that failed, or < 2 components, use the prefix */
if ( (prefixcomp = ldap_explode_dn( ld->ld_ufnprefix, 0 )) == NULL ) {
ldap_value_free( ufncomp );
LDAP_VFREE( ufncomp );
return( ld->ld_errno = LDAP_LOCAL_ERROR );
}
for ( pcomp = 0; prefixcomp[pcomp] != NULL; pcomp++ )
; /* NULL */
if ( (pbuf = (char *) LDAP_MALLOC( strlen( ld->ld_ufnprefix ) + 1 ))
== NULL ) {
ldap_value_free( ufncomp );
ldap_value_free( prefixcomp );
LDAP_VFREE( ufncomp );
LDAP_VFREE( prefixcomp );
return( ld->ld_errno = LDAP_NO_MEMORY );
}
@ -293,8 +293,8 @@ ldap_ufn_search_ct(
}
}
ldap_value_free( ufncomp );
ldap_value_free( prefixcomp );
LDAP_VFREE( ufncomp );
LDAP_VFREE( prefixcomp );
LDAP_FREE( pbuf );
return( err );

View file

@ -337,9 +337,9 @@ void LogSlapdStartedEvent( char *svc, int slap_debug, char *configfile, char *ur
Inserts[i] = (char *)malloc( 20 );
itoa( slap_debug, Inserts[i++], 10 );
Inserts[i++] = ldap_pvt_strdup( configfile );
Inserts[i++] = ldap_pvt_strdup( urls ? urls : "ldap:///" );
Inserts[i++] = ldap_pvt_strdup( is_NT_Service ? "svc" : "cmd" );
Inserts[i++] = strdup( configfile );
Inserts[i++] = strdup( urls ? urls : "ldap:///" );
Inserts[i++] = strdup( is_NT_Service ? "svc" : "cmd" );
ReportEvent( hEventLog, EVENTLOG_INFORMATION_TYPE, 0,
MSG_SLAPD_STARTED, NULL, i, 0, (LPCSTR *) Inserts, NULL );

View file

@ -22,7 +22,7 @@ static void oc_usage(void) LDAP_GCCATTR((noreturn));
static void at_usage(void) LDAP_GCCATTR((noreturn));
static char *const err2text[] = {
"Unknown Error",
"Success",
"Out of memory",
"ObjectClass not found",
"AttributeType not found",
@ -40,8 +40,8 @@ static char *const err2text[] = {
char *
scherr2str(int code)
{
if ( code < 1 || code >= (sizeof(err2text)/sizeof(char *)) ) {
return err2text[0];
if ( code < 0 || code >= (sizeof(err2text)/sizeof(char *)) ) {
return "Unknown error";
} else {
return err2text[code];
}
@ -206,17 +206,18 @@ parse_oc(
static void
oc_usage( void )
{
fprintf( stderr, "ObjectClassDescription = \"(\" whsp\n");
fprintf( stderr, " numericoid whsp ; ObjectClass identifier\n");
fprintf( stderr, " [ \"NAME\" qdescrs ]\n");
fprintf( stderr, " [ \"DESC\" qdstring ]\n");
fprintf( stderr, " [ \"OBSOLETE\" whsp ]\n");
fprintf( stderr, " [ \"SUP\" oids ] ; Superior ObjectClasses\n");
fprintf( stderr, " [ ( \"ABSTRACT\" / \"STRUCTURAL\" / \"AUXILIARY\" ) whsp ]\n");
fprintf( stderr, " ; default structural\n");
fprintf( stderr, " [ \"MUST\" oids ] ; AttributeTypes\n");
fprintf( stderr, " [ \"MAY\" oids ] ; AttributeTypes\n");
fprintf( stderr, "whsp \")\"\n");
fprintf( stderr,
"ObjectClassDescription = \"(\" whsp\n"
" numericoid whsp ; ObjectClass identifier\n"
" [ \"NAME\" qdescrs ]\n"
" [ \"DESC\" qdstring ]\n"
" [ \"OBSOLETE\" whsp ]\n"
" [ \"SUP\" oids ] ; Superior ObjectClasses\n"
" [ ( \"ABSTRACT\" / \"STRUCTURAL\" / \"AUXILIARY\" ) whsp ]\n"
" ; default structural\n"
" [ \"MUST\" oids ] ; AttributeTypes\n"
" [ \"MAY\" oids ] ; AttributeTypes\n"
" whsp \")\"\n" );
exit( EXIT_FAILURE );
}
@ -224,26 +225,27 @@ oc_usage( void )
static void
at_usage( void )
{
fprintf( stderr, "AttributeTypeDescription = \"(\" whsp\n");
fprintf( stderr, " numericoid whsp ; AttributeType identifier\n");
fprintf( stderr, " [ \"NAME\" qdescrs ] ; name used in AttributeType\n");
fprintf( stderr, " [ \"DESC\" qdstring ] ; description\n");
fprintf( stderr, " [ \"OBSOLETE\" whsp ]\n");
fprintf( stderr, " [ \"SUP\" woid ] ; derived from this other\n");
fprintf( stderr, " ; AttributeType\n");
fprintf( stderr, " [ \"EQUALITY\" woid ] ; Matching Rule name\n");
fprintf( stderr, " [ \"ORDERING\" woid ] ; Matching Rule name\n");
fprintf( stderr, " [ \"SUBSTR\" woid ] ; Matching Rule name\n");
fprintf( stderr, " [ \"SYNTAX\" whsp noidlen whsp ] ; see section 4.3\n");
fprintf( stderr, " [ \"SINGLE-VALUE\" whsp ] ; default multi-valued\n");
fprintf( stderr, " [ \"COLLECTIVE\" whsp ] ; default not collective\n");
fprintf( stderr, " [ \"NO-USER-MODIFICATION\" whsp ]; default user modifiable\n");
fprintf( stderr, " [ \"USAGE\" whsp AttributeUsage ]; default userApplications\n");
fprintf( stderr, " ; userApplications\n");
fprintf( stderr, " ; directoryOperation\n");
fprintf( stderr, " ; distributedOperation\n");
fprintf( stderr, " ; dSAOperation\n");
fprintf( stderr, "whsp \")\"\n");
fprintf( stderr,
"AttributeTypeDescription = \"(\" whsp\n"
" numericoid whsp ; AttributeType identifier\n"
" [ \"NAME\" qdescrs ] ; name used in AttributeType\n"
" [ \"DESC\" qdstring ] ; description\n"
" [ \"OBSOLETE\" whsp ]\n"
" [ \"SUP\" woid ] ; derived from this other\n"
" ; AttributeType\n"
" [ \"EQUALITY\" woid ] ; Matching Rule name\n"
" [ \"ORDERING\" woid ] ; Matching Rule name\n"
" [ \"SUBSTR\" woid ] ; Matching Rule name\n"
" [ \"SYNTAX\" whsp noidlen whsp ] ; see section 4.3\n"
" [ \"SINGLE-VALUE\" whsp ] ; default multi-valued\n"
" [ \"COLLECTIVE\" whsp ] ; default not collective\n"
" [ \"NO-USER-MODIFICATION\" whsp ]; default user modifiable\n"
" [ \"USAGE\" whsp AttributeUsage ]; default userApplications\n"
" ; userApplications\n"
" ; directoryOperation\n"
" ; distributedOperation\n"
" ; dSAOperation\n"
" whsp \")\"\n");
exit( EXIT_FAILURE );
}