From: Zbigniew Jędrzejewski-Szmek Date: Thu, 1 Dec 2016 16:46:40 +0000 (-0500) Subject: hwdb: emit warning when matches are specified at the very end of file X-Git-Tag: v233~331^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7a100dce9db33006888156876ff8aeb27e77eed2;p=thirdparty%2Fsystemd.git hwdb: emit warning when matches are specified at the very end of file This is also an error, but it wasn't caught. [/tmp/tmp.YWeKax4fMI/etc/udev/hwdb.d/10-bad.hwdb:26] Property expected, ignoring record with no properties --- diff --git a/src/hwdb/hwdb.c b/src/hwdb/hwdb.c index d2fe75fc792..a23b6147911 100644 --- a/src/hwdb/hwdb.c +++ b/src/hwdb/hwdb.c @@ -554,8 +554,8 @@ static int import_file(struct trie *trie, const char *filename, uint16_t file_pr break; } - /* another match */ if (line[0] != ' ') { + /* another match */ match = strdup(line); if (!match) return -ENOMEM; @@ -573,8 +573,8 @@ static int import_file(struct trie *trie, const char *filename, uint16_t file_pr break; case HW_DATA: - /* end of record */ if (len == 0) { + /* end of record */ state = HW_NONE; strv_clear(match_list); break; @@ -593,6 +593,10 @@ static int import_file(struct trie *trie, const char *filename, uint16_t file_pr }; } + if (state == HW_MATCH) + log_syntax(NULL, LOG_WARNING, filename, line_number, EINVAL, + "Property expected, ignoring record with no properties"); + return 0; }