git: 768149ff156e - main - jail: make sure jail.conf parse errors exit, and not crash. Reported by: Mason Loring Bliss
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 21 Jan 2024 05:22:15 UTC
The branch main has been updated by jamie: URL: https://cgit.FreeBSD.org/src/commit/?id=768149ff156e7d34a035853030bf946ca94cb461 commit 768149ff156e7d34a035853030bf946ca94cb461 Author: Jamie Gritton <jamie@FreeBSD.org> AuthorDate: 2024-01-21 05:20:59 +0000 Commit: Jamie Gritton <jamie@FreeBSD.org> CommitDate: 2024-01-21 05:20:59 +0000 jail: make sure jail.conf parse errors exit, and not crash. Reported by: Mason Loring Bliss --- usr.sbin/jail/jailparse.y | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/usr.sbin/jail/jailparse.y b/usr.sbin/jail/jailparse.y index 047ca882e59f..048cfcf11c2b 100644 --- a/usr.sbin/jail/jailparse.y +++ b/usr.sbin/jail/jailparse.y @@ -234,16 +234,19 @@ extern int YYLEX_DECL(); static void YYERROR_DECL() { + struct cflex *cflex = yyget_extra(scanner); + if (!yyget_text(scanner)) warnx("%s line %d: %s", - yyget_extra(scanner)->cfname, yyget_lineno(scanner), s); + cflex->cfname, yyget_lineno(scanner), s); else if (!yyget_text(scanner)[0]) warnx("%s: unexpected EOF", - yyget_extra(scanner)->cfname); + cflex->cfname); else warnx("%s line %d: %s: %s", - yyget_extra(scanner)->cfname, yyget_lineno(scanner), + cflex->cfname, yyget_lineno(scanner), yyget_text(scanner), s); + cflex->error = 1; } /* Handle special parameters (i.e. the include directive).