From 2ed313e7f2d41242967938c4dc0115fc2fa07753 Mon Sep 17 00:00:00 2001 From: Sang Seok Lim Date: Mon, 1 Nov 2004 18:59:33 +0000 Subject: [PATCH] Bug fix: return value check --- servers/slapd/component.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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; -- 2.39.5