Skip to content

Commit f953b17

Browse files
committed
initrd-scanmod: Fix read outside of array
Signed-off-by: Alexey Gladkov <[email protected]>
1 parent 72281f2 commit f953b17

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

utils/initrd-scanmod/initrd-scanmod-rules.c

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -132,20 +132,18 @@ parse_ruleset(const char *rulesfile, struct ruleset *set)
132132
}
133133

134134
static int
135-
filename_in_ruleset(char *filename)
135+
filename_in_ruleset(size_t n_rules, char *filename)
136136
{
137-
int i = 0;
138-
struct ruleset *set = NULL;
137+
size_t i = 0;
139138

140139
if (!filter_rules)
141140
return 0;
142141

143-
set = filter_rules[i++];
144-
while (set) {
145-
if (!strcmp(set->filename, filename))
142+
for (i = 0; i < n_rules; i++) {
143+
if (!strcmp(filter_rules[i]->filename, filename))
146144
return 1;
147-
set = filter_rules[i++];
148145
}
146+
149147
return 0;
150148
}
151149

@@ -156,7 +154,7 @@ parse_rules(int n_files, char **files)
156154
size_t n_rules = 0;
157155

158156
for (i = 0; i < n_files; i++) {
159-
if (!files || !files[i] || filename_in_ruleset(files[i]))
157+
if (!files || !files[i] || filename_in_ruleset(n_rules, files[i]))
160158
continue;
161159

162160
struct ruleset *set = xcalloc(1, sizeof(struct ruleset));

0 commit comments

Comments
 (0)