diff options
| author | 2026-03-10 21:26:55 +0100 | |
|---|---|---|
| committer | 2026-03-10 22:19:00 +0100 | |
| commit | 0d8e5fbc31e1082063bfb5155c35b7869721152b (patch) | |
| tree | d13d25a2ef93af13deaaf285dbcd26bbb5a5a1c6 /cgit.c | |
| parent | ui-log: allow link following to be disabled per-repo (diff) | |
| download | cgit-0d8e5fbc31e10.tar.xz cgit-0d8e5fbc31e10.zip | |
We don't get any return value from compile_grep_patterns calling
compile_regexp_failed, causing the default die routine to print to
stderr and then for cgit to exit ungracefully.
Instead override the default die routine to show a normal error page.
Perhaps compile_grep_patterns ought to change upstream to return an
error. But this commit here will handle future issues as well, so
perhaps not a bad idea to do anyway.
Link: https://lists.zx2c4.com/pipermail/cgit/2026-March/004982.html
Link: https://lists.zx2c4.com/pipermail/cgit/2026-March/004983.html
Reported-by: Adrian C. <anrxc@sysphere.org>
Reported-by: Aiden Woodruff <aiden@aidenw.net>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'cgit.c')
| -rw-r--r-- | cgit.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -1058,6 +1058,12 @@ static int calc_ttl(void) return ctx.cfg.cache_repo_ttl; } +static NORETURN void cgit_die_routine(const char *msg, va_list params) +{ + cgit_vprint_error_page(400, "Bad request", msg, params); + exit(0); +} + int cmd_main(int argc, const char **argv) { const char *path; @@ -1065,6 +1071,7 @@ int cmd_main(int argc, const char **argv) cgit_init_filters(); atexit(cgit_cleanup_filters); + set_die_routine(cgit_die_routine); prepare_context(); cgit_repolist.length = 0; |
