Commit 996e63ab authored by Christoph 'SuperVirus' Heitkamp's avatar Christoph 'SuperVirus' Heitkamp Committed by Rahix
Browse files

fix(config): Fix buffer-overflow and close file properly

parent 2a7e41fd
......@@ -270,17 +270,17 @@ void load_config(void)
);
return;
}
char buf[CONFIG_MAX_LINE_LENGTH];
char buf[CONFIG_MAX_LINE_LENGTH + 1];
int lineNumber = 0;
int nread;
do {
//zero-terminate in case file is empty
buf[0] = '\0';
nread = epic_file_read(fd, buf, sizeof(buf));
if (nread < sizeof(buf)) {
nread = epic_file_read(fd, buf, CONFIG_MAX_LINE_LENGTH);
if (nread < CONFIG_MAX_LINE_LENGTH) {
//add fake EOL to ensure termination
buf[nread] = '\n';
buf[nread++] = '\n';
}
//zero-terminate buffer
buf[nread] = '\0';
char *line = buf;
char *eol = NULL;
int last_eol = 0;
......@@ -344,4 +344,5 @@ void load_config(void)
}
}
} while (nread == sizeof(buf));
epic_file_close(fd);
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment