From a668bfe88a48d433a81dad8219bd98fc73838eda Mon Sep 17 00:00:00 2001 From: Tiago Salem Herrmann Date: Tue, 12 Dec 2017 13:43:17 -0200 Subject: [PATCH] Use read_line() and LONG_LINE_MAX to read values configuration files. --- src/sysctl/sysctl.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c index 4c468d011ad..a1dc95b2bb2 100644 --- a/src/sysctl/sysctl.c +++ b/src/sysctl/sysctl.c @@ -106,16 +106,16 @@ static int parse_file(OrderedHashmap *sysctl_options, const char *path, bool ign log_debug("Parsing %s", path); for (;;) { - char l[LINE_MAX], *p, *value, *new_value, *property, *existing; + char *p, *value, *new_value, *property, *existing; + _cleanup_free_ char *l = NULL; void *v; int k; + k = read_line(f, LONG_LINE_MAX, &l); + if (k == 0) + break; - if (!fgets(l, sizeof(l), f)) { - if (feof(f)) - break; - - return log_error_errno(errno, "Failed to read file '%s', ignoring: %m", path); - } + if (k < 0) + return log_error_errno(k, "Failed to read file '%s', ignoring: %m", path); c++; -- 2.39.2