From: Luke Howard Date: Thu, 24 Apr 2003 11:14:57 +0000 (+0000) Subject: Fix potential attr_merge_normalize() crasher X-Git-Tag: OPENLDAP_REL_ENG_2_2_0ALPHA~250 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=958942d8e3e2b3fa37ee9edacd0f118cafc03d4f;p=openldap Fix potential attr_merge_normalize() crasher --- diff --git a/servers/slapd/attr.c b/servers/slapd/attr.c index 8a1121ce03..8eaed0fc7b 100644 --- a/servers/slapd/attr.c +++ b/servers/slapd/attr.c @@ -162,10 +162,10 @@ attr_merge_normalize( BerVarray nvals = NULL; int rc; - if ( desc->ad_type->sat_equality->smr_normalize ) { + if ( desc->ad_type->sat_equality && desc->ad_type->sat_equality->smr_normalize ) { int i; - for ( i = 0; vals[i].bv_val; i++); + for ( i = 0; vals[i].bv_val; i++ ); nvals = ch_calloc( sizeof(struct berval), i + 1 ); for ( i = 0; vals[i].bv_val; i++ ) { @@ -186,7 +186,9 @@ attr_merge_normalize( rc = attr_merge( e, desc, vals, nvals ); error_return:; - ber_bvarray_free( nvals ); + if ( nvals != NULL ) { + ber_bvarray_free( nvals ); + } return rc; }