From: Kay Sievers Date: Wed, 29 Aug 2007 20:19:28 +0000 (+0200) Subject: print warning for invalid TEST operations X-Git-Tag: 174~1832 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=a506e6298cffed4576f9cea8df15b2f8945fc731 print warning for invalid TEST operations --- diff --git a/udev_rules.c b/udev_rules.c index 364d1b7ad..ef352ca2b 100644 --- a/udev_rules.c +++ b/udev_rules.c @@ -994,7 +994,8 @@ static int match_rule(struct udevice *udev, struct udev_rule *rule) } } - if (rule->test.operation != KEY_OP_UNSET) { + if (rule->test.operation == KEY_OP_MATCH || + rule->test.operation == KEY_OP_NOMATCH) { char filename[PATH_SIZE]; char devpath[PATH_SIZE]; char *attr; diff --git a/udev_rules_parse.c b/udev_rules_parse.c index 3afc31a0f..9e435819f 100644 --- a/udev_rules_parse.c +++ b/udev_rules_parse.c @@ -469,6 +469,11 @@ static int add_to_rules(struct udev_rules *rules, char *line, const char *filena } if (strncasecmp(key, "TEST", sizeof("TEST")-1) == 0) { + if (operation != KEY_OP_MATCH && + operation != KEY_OP_NOMATCH) { + err("invalid TEST operation"); + goto invalid; + } attr = get_key_attribute(key + sizeof("TEST")-1); if (attr != NULL) rule->test_mode_mask = strtol(attr, NULL, 8);