From: Sang Seok Lim Date: Mon, 1 Nov 2004 18:59:33 +0000 (+0000) Subject: Bug fix: return value check X-Git-Tag: OPENLDAP_REL_ENG_2_3_0ALPHA~379 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=2ed313e7f2d41242967938c4dc0115fc2fa07753;p=openldap Bug fix: return value check --- diff --git a/servers/slapd/component.c b/servers/slapd/component.c index b9368d3691..9008ab7477 100644 --- a/servers/slapd/component.c +++ b/servers/slapd/component.c @@ -141,12 +141,15 @@ slapd_ber2cav( struct berval* bv, ComponentAssertionValue* cav) int len; len = ldap_pvt_filter_value_unescape( bv->bv_val ); + if ( len == -1 ) { + return LDAP_FILTER_ERROR; + } cav->cav_ptr = cav->cav_buf = bv->bv_val; cav->cav_end = bv->bv_val + len; /* FIXME: should it check return value * of ldap_pvt_filter_value_unescape? */ - return 0; + return LDAP_SUCCESS; } int @@ -157,7 +160,9 @@ get_comp_filter( Operation* op, struct berval* bv, ComponentFilter** filt, int rc; Debug( LDAP_DEBUG_FILTER, "get_comp_filter\n", 0, 0, 0 ); - slapd_ber2cav(bv, &cav); + if ( (rc = slapd_ber2cav(bv, &cav) ) != LDAP_SUCCESS ) { + return rc; + } rc = parse_comp_filter( op, &cav, filt, text ); bv->bv_val = cav.cav_ptr;