chiark / gitweb /
udev: fix the ENV{} blacklist logic
authorKay Sievers <kay@vrfy.org>
Fri, 4 May 2012 00:26:08 +0000 (02:26 +0200)
committerKay Sievers <kay@vrfy.org>
Fri, 4 May 2012 00:29:36 +0000 (02:29 +0200)
src/udev/udev-rules.c

index a800ccd..e73b156 100644 (file)
@@ -1349,11 +1349,12 @@ static int add_rule(struct udev_rules *rules, char *line,
                                 };
                                 unsigned int i;
 
-                                for (i = 0; i < ELEMENTSOF(blacklist); i++)
-                                        if (streq(attr, blacklist[i])) {
-                                                log_error("invalid ENV attribute, '%s' can not be set %s:%u\n", attr, filename, lineno);
+                                for (i = 0; i < ELEMENTSOF(blacklist); i++) {
+                                        if (!streq(attr, blacklist[i]))
                                                 continue;
-                                        }
+                                        log_error("invalid ENV attribute, '%s' can not be set %s:%u\n", attr, filename, lineno);
+                                        goto invalid;
+                                }
                                 if (rule_add_key(&rule_tmp, TK_A_ENV, op, value, attr) != 0)
                                         goto invalid;
                         }