diff --git a/src/stats-file.c b/src/stats-file.c index 76168919d..1a77e3182 100644 --- a/src/stats-file.c +++ b/src/stats-file.c @@ -351,8 +351,6 @@ void apply_stats_file(void) FILE *file; struct ist istline; char *line = NULL; - ssize_t len; - size_t alloc_len; int linenum; if (!global.stats_file) @@ -370,15 +368,20 @@ void apply_stats_file(void) goto out; } + line = malloc(sizeof(char) * LINESIZE); + if (!line) { + ha_warning("config: Can't load stats file: line alloc error.\n"); + goto out; + } + linenum = 0; domain = STFILE_DOMAIN_UNSET; while (1) { - len = getline(&line, &alloc_len, file); - if (len < 0) + if (!fgets(line, LINESIZE, file)) break; ++linenum; - istline = iststrip(ist2(line, len)); + istline = iststrip(ist(line)); if (!istlen(istline)) continue;