cursor: use getline instead of fgets
This avoids storing 8KiB on the stack, and removes the line length limit. Signed-off-by: Simon Ser <contact@emersion.fr>
This commit is contained in:
parent
0b8793ab0c
commit
6cf5e8f932
|
@ -698,7 +698,8 @@ xcursor_sep(char c)
|
|||
static char *
|
||||
xcursor_theme_inherits(const char *full)
|
||||
{
|
||||
char line[8192];
|
||||
char *line = NULL;
|
||||
size_t line_size = 0;
|
||||
char *result = NULL;
|
||||
FILE *f;
|
||||
|
||||
|
@ -709,7 +710,7 @@ xcursor_theme_inherits(const char *full)
|
|||
if (!f)
|
||||
return NULL;
|
||||
|
||||
while (fgets(line, sizeof(line), f)) {
|
||||
while (getline(&line, &line_size, f) >= 0) {
|
||||
if (strncmp(line, "Inherits", 8))
|
||||
continue;
|
||||
|
||||
|
@ -743,6 +744,8 @@ xcursor_theme_inherits(const char *full)
|
|||
}
|
||||
|
||||
fclose(f);
|
||||
free(line);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user