From 38895e573c6f17014393dc35a9e53d5f016172c3 Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Sun, 20 Aug 2006 18:15:29 +0200 Subject: [PATCH] skip rule, if too may keys of the same type are used --- test/udev-test.pl | 2 +- udev_rules_parse.c | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/test/udev-test.pl b/test/udev-test.pl index c1c5302ca..c7662326e 100755 --- a/test/udev-test.pl +++ b/test/udev-test.pl @@ -79,7 +79,7 @@ EOF devpath => "/block/sda/sda1", exp_name => "boot_disk1" , rules => <attr, operation, attr, value); + if (add_rule_key_pair(rule, &rule->attr, operation, attr, value) != 0) + goto invalid; valid = 1; continue; } @@ -381,10 +382,11 @@ static int add_to_rules(struct udev_rules *rules, char *line, const char *filena } attr = get_key_attribute(key + sizeof("ATTRS")-1); if (attr == NULL) { - err("error parsing ATTRS attribute in '%s'", line); - continue; + err("error parsing ATTRS attribute"); + goto invalid; } - add_rule_key_pair(rule, &rule->attrs, operation, attr, value); + if (add_rule_key_pair(rule, &rule->attrs, operation, attr, value) != 0) + goto invalid; valid = 1; continue; } @@ -393,9 +395,10 @@ static int add_to_rules(struct udev_rules *rules, char *line, const char *filena attr = get_key_attribute(key + sizeof("ENV")-1); if (attr == NULL) { err("error parsing ENV attribute"); - continue; + goto invalid; } - add_rule_key_pair(rule, &rule->env, operation, attr, value); + if (add_rule_key_pair(rule, &rule->env, operation, attr, value) != 0) + goto invalid; valid = 1; continue; } -- 2.30.2