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;
389-commits@lists.fedoraproject.org