boot: Fix OOB reads in conf/osrel parsing

This commit is contained in:
Jan Janssen
2023-10-15 17:41:25 +02:00
parent f17670a0c3
commit 5ce851ab99
2 changed files with 3 additions and 1 deletions
+1 -1
View File
@@ -444,7 +444,7 @@ char *line_get_key_value(char *s, const char *sep, size_t *pos, char **ret_key,
line[linelen] = '\0';
/* remove leading whitespace */
while (strchr8(" \t", *line)) {
while (linelen > 0 && strchr8(" \t", *line)) {
line++;
linelen--;
}
+2
View File
@@ -520,7 +520,9 @@ TEST(line_get_key_value) {
char *key, *value;
assert_se(!line_get_key_value((char[]){ "" }, "=", &pos, &key, &value));
assert_se(!line_get_key_value((char[]){ "\t" }, " \t", &pos, &key, &value));
pos = 0;
assert_se(line_get_key_value(s1, "=", &pos, &key, &value));
assert_se(streq8(key, "key"));
assert_se(streq8(value, "value"));