Fix parsing of configurations if the configuration file does not end with an LF.
This patch fixes GitHub issue #704. It's a regression in 9e1758efbd68c8b1d27e17e2abe4444e110f3ebe which is 2.2 specific. No backport needed. --- src/cfgparse.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/cfgparse.c b/src/cfgparse.c index fdbf3a406..241a6ac7d 100644 --- a/src/cfgparse.c +++ b/src/cfgparse.c @@ -1905,8 +1905,15 @@ next_line: readbytes = 0; - /* kill trailing LF */ - *(end - 1) = 0; + if (*(end-1) != '\n') { + ha_warning("parsing [%s:%d]: line is not terminated by a newline (LF / '\\n').\n", + file, linenum); + err_code |= ERR_WARN; + } + else { + /* kill trailing LF */ + *(end - 1) = 0; + } /* skip leading spaces */ while (isspace((unsigned char)*line)) -- 2.27.0