Author: rmeggins
Update of /cvs/dirsec/ldapserver/ldap/servers/plugins/acl
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv5399
Modified Files:
aclparse.c
Log Message:
Resolves: bug 232910
Description: ACI targetattr list parser is whitespace sensitive
Fix Description: In addition to the previous fixes, test for quote at end of string before
incrementing s - otherwise test will always fail.
Index: aclparse.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/plugins/acl/aclparse.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- aclparse.c 19 Oct 2007 19:01:16 -0000 1.9
+++ aclparse.c 19 Oct 2007 22:14:56 -0000 1.10
@@ -1239,16 +1239,16 @@
if it begins with a quote, it must end with one as well
*/
if (*s == '"') {
+ if (s[len-1] == '"') {
+ s[len-1] = '\0'; /* trim trailing quote */
+ } else {
+ /* error - if it begins with a quote, it must end with a quote */
+ slapi_log_error(SLAPI_LOG_FATAL, plugin_name,
+ "__aclp__init_targetattr: Error: The statement does not begin and end with a
\": [%s]\n",
+ attr_val);
+ return ACL_SYNTAX_ERR;
+ }
s++; /* skip leading quote */
- if (s[len-1] == '"') {
- s[len-1] = '\0'; /* trim trailing quote */
- } else {
- /* error - if it begins with a quote, it must end with a quote */
- slapi_log_error(SLAPI_LOG_FATAL, plugin_name,
- "__aclp__init_targetattr: Error: The statement does not
begin and end with a \": [%s]\n",
- attr_val);
- return ACL_SYNTAX_ERR;
- }
}
str = s;
Show replies by date