From 2a98ae4a05d764d4280abb9e9a13335d4f2be3c3 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 18 Oct 2018 16:21:05 +0200 Subject: [PATCH] tmpfiles: FOREACH_LINE excorcism --- src/tmpfiles/tmpfiles.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c index d7e02c400e1..7819d96c672 100644 --- a/src/tmpfiles/tmpfiles.c +++ b/src/tmpfiles/tmpfiles.c @@ -2979,10 +2979,9 @@ static int parse_argv(int argc, char *argv[]) { static int read_config_file(char **config_dirs, const char *fn, bool ignore_enoent, bool *invalid_config) { _cleanup_fclose_ FILE *_f = NULL; - FILE *f; - char line[LINE_MAX]; Iterator iterator; unsigned v = 0; + FILE *f; Item *i; int r = 0; @@ -3006,10 +3005,17 @@ static int read_config_file(char **config_dirs, const char *fn, bool ignore_enoe f = _f; } - FOREACH_LINE(line, f, break) { + for (;;) { + _cleanup_free_ char *line = NULL; + bool invalid_line = false; char *l; int k; - bool invalid_line = false; + + k = read_line(f, LONG_LINE_MAX, &line); + if (k < 0) + return log_error_errno(k, "Failed to read '%s': %m", fn); + if (k == 0) + break; v++; -- 2.47.3