[systemd-commits] src/udev

Dave Reisner dreisner at kemper.freedesktop.org
Mon Jul 29 18:54:29 PDT 2013


 src/udev/udev-rules.c |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

New commits:
commit e736cf3582c03273f95bc6f97245b04783fd626b
Author: Dave Reisner <dreisner at archlinux.org>
Date:   Mon Jul 29 18:18:43 2013 -0400

    udev-rules: report rule parsing errors from get_key

diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
index 769b670..e4facd7 100644
--- a/src/udev/udev-rules.c
+++ b/src/udev/udev-rules.c
@@ -1066,8 +1066,15 @@ static int add_rule(struct udev_rules *rules, char *line,
                 char *value;
                 enum operation_type op;
 
-                if (get_key(rules->udev, &linepos, &key, &op, &value) != 0)
+                if (get_key(rules->udev, &linepos, &key, &op, &value) != 0) {
+                        /* If we aren't at the end of the line, this is a parsing error.
+                         * Make a best effort to describe where the problem is. */
+                        if (*linepos != '\n')
+                                log_error("invalid key/value pair in file %s on line %u,"
+                                                "starting at character %lu\n",
+                                                filename, lineno, linepos - line + 1);
                         break;
+                }
 
                 if (streq(key, "ACTION")) {
                         if (op > OP_MATCH_MAX) {



More information about the systemd-commits mailing list