From: Quanah Gibson-Mount Date: Mon, 14 Apr 2008 21:20:45 +0000 (+0000) Subject: ITS#5402 X-Git-Tag: OPENLDAP_REL_ENG_2_4_9~96 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=c6446c5eb33d93d2d533daac39a9848af6c6aaa7;p=openldap ITS#5402 --- diff --git a/CHANGES b/CHANGES index d6a05aabf7..52e9afaf22 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,7 @@ OpenLDAP 2.4.9 Engineering Fixed slapd frontendDB backend selection (ITS#5419) Fixed slapd delta-syncrepl resync (ITS#5378) Fixed slapd pointer dereference (ITS#5388) + Fixed slapd sets attribute description parsing (ITS#5402) Fixed slapd syncrepl hang on back-config (ITS#5407) Fixed slapd syncrepl compare_csns crash (ITS#5413) Fixed slapd syncrepl contextCSN update clash (ITS#5426) diff --git a/servers/slapd/sets.c b/servers/slapd/sets.c index 7f3f8ceba8..d7c56fa9ed 100644 --- a/servers/slapd/sets.c +++ b/servers/slapd/sets.c @@ -709,20 +709,19 @@ slap_set_filter( SLAP_SET_GATHER gatherer, break; default: - if ( ( c != '_' ) - && ( c < 'A' || c > 'Z' ) - && ( c < 'a' || c > 'z' ) ) - { + if ( !AD_LEADCHAR( c ) ) { SF_ERROR( syntax ); } filter--; for ( len = 1; - ( c = filter[ len ] ) - && ( ( c >= '0' && c <= '9' ) - || ( c >= 'A' && c <= 'Z' ) - || ( c >= 'a' && c <= 'z' ) ); - len++ ) - /* count */ ; + ( c = filter[ len ] ) && AD_CHAR( c ); + len++ ) + { + /* count */ + if ( c == '-' && !AD_CHAR( filter[ len + 1 ] ) ) { + break; + } + } if ( len == 4 && memcmp( "this", filter, len ) == 0 ) {