X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fcomponent.c;h=651b560b84468876634f30c176fef16bb20ff48e;hb=6556561626b32ab751e111add34f56e0c0bcf07b;hp=67693a61ac60419e8062e21e80aa9ea47f584736;hpb=90c8a53db4896d9658e03943cd525d1d99c42cf0;p=openldap diff --git a/servers/slapd/component.c b/servers/slapd/component.c index 67693a61ac..651b560b84 100644 --- a/servers/slapd/component.c +++ b/servers/slapd/component.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2006 The OpenLDAP Foundation. + * Copyright 2003-2014 The OpenLDAP Foundation. * Portions Copyright 2004 by IBM Corporation. * All rights reserved. * @@ -179,7 +179,7 @@ dup_comp_ref ( Operation* op, ComponentReference* cr ) ci_curr = ci_curr->ci_next, ci_temp = &(*ci_temp)->ci_next ) { *ci_temp = op->o_tmpalloc( sizeof( ComponentId ), op->o_tmpmemctx ); - if ( !ci_temp ) return NULL; + if ( !*ci_temp ) return NULL; **ci_temp = *ci_curr; } @@ -212,7 +212,7 @@ dup_comp_filter_list ( int get_len_of_next_assert_value ( struct berval* bv, char separator ) { - int i = 0; + ber_len_t i = 0; while (1) { if ( (bv->bv_val[ i ] == separator) || ( i >= bv->bv_len) ) break; @@ -491,7 +491,10 @@ get_componentId( Operation *op, ComponentAssertionValue* cav, if ( op ) { *cid = op->o_tmpalloc( sizeof( ComponentId ), op->o_tmpmemctx ); } else { - *cid = malloc( sizeof( ComponentId ) ); + *cid = SLAP_MALLOC( sizeof( ComponentId ) ); + } + if (*cid == NULL) { + return LDAP_NO_MEMORY; } **cid = _cid; return LDAP_SUCCESS; @@ -564,7 +567,7 @@ get_component_reference( ca_comp_ref = op->o_tmpalloc( sizeof( ComponentReference ), op->o_tmpmemctx ); } else { - ca_comp_ref = malloc( sizeof( ComponentReference ) ); + ca_comp_ref = SLAP_MALLOC( sizeof( ComponentReference ) ); } if ( !ca_comp_ref ) return LDAP_NO_MEMORY; @@ -951,7 +954,7 @@ get_item( Operation *op, ComponentAssertionValue* cav, ComponentAssertion** ca, if ( op ) _ca = op->o_tmpalloc( sizeof( ComponentAssertion ), op->o_tmpmemctx ); else - _ca = malloc( sizeof( ComponentAssertion ) ); + _ca = SLAP_MALLOC( sizeof( ComponentAssertion ) ); if ( !_ca ) return LDAP_NO_MEMORY; @@ -1073,7 +1076,7 @@ parse_comp_filter( Operation* op, ComponentAssertionValue* cav, ber_tag_t tag; int err; ComponentFilter f; - /* TAG : item, and, or, not in RFC 2254 */ + /* TAG : item, and, or, not in RFC 4515 */ tag = strip_cav_tag( cav ); if ( tag == LBER_ERROR ) { @@ -1170,7 +1173,10 @@ parse_comp_filter( Operation* op, ComponentAssertionValue* cav, if ( op ) { *filt = op->o_tmpalloc( sizeof(f), op->o_tmpmemctx ); } else { - *filt = malloc( sizeof(f) ); + *filt = SLAP_MALLOC( sizeof(f) ); + } + if ( *filt == NULL ) { + return LDAP_NO_MEMORY; } **filt = f; }