IMA: handle whitespace better

IMA parser will fail if whitespace is used in any way other than a single
space.  Using a tab or even using 2 spaces in a row will result in a policy
being rejected.  This patch makes the kernel ignore whitespace a bit better.

Signed-off-by: Eric Paris <eparis@redhat.com>
Acked-by: Mimi Zohar <zohar@us.ibm.com>
Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
Eric Paris 2010-04-20 10:21:18 -04:00 committed by James Morris
parent e9d393bf86
commit 28ef4002ec

View file

@ -265,15 +265,15 @@ static int ima_parse_rule(char *rule, struct ima_measure_rule_entry *entry)
entry->uid = -1; entry->uid = -1;
entry->action = UNKNOWN; entry->action = UNKNOWN;
while ((p = strsep(&rule, " ")) != NULL) { while ((p = strsep(&rule, " \t")) != NULL) {
substring_t args[MAX_OPT_ARGS]; substring_t args[MAX_OPT_ARGS];
int token; int token;
unsigned long lnum; unsigned long lnum;
if (result < 0) if (result < 0)
break; break;
if (!*p) if ((*p == '\0') || (*p == ' ') || (*p == '\t'))
break; continue;
token = match_token(p, policy_tokens, args); token = match_token(p, policy_tokens, args);
switch (token) { switch (token) {
case Opt_measure: case Opt_measure: