From 93ce8e8489bda4a7ebe5161020c83a68f744481f Mon Sep 17 00:00:00 2001 From: flu0r1ne Date: Sat, 9 Sep 2023 22:56:05 -0500 Subject: Fix implicit fallthrough false positive, noreturn With warnings and pedantic mode enabled, `gcc (GCC) 13.2.1` returns an implicit fall through warning. This can be fixed by annotating the error function with NORETURN. --- fcgiwrap.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'fcgiwrap.c') diff --git a/fcgiwrap.c b/fcgiwrap.c index b44d8aa..8310284 100644 --- a/fcgiwrap.c +++ b/fcgiwrap.c @@ -56,6 +56,12 @@ #define UNIX_PATH_MAX 108 #endif +#if defined(__GNUC__) || defined(__clang__) +# define NORETURN __attribute__((__noreturn__)) +#else +# define NORETURN +#endif + extern char **environ; static char * const * inherited_environ; static const char **allowed_programs; @@ -500,7 +506,7 @@ static bool is_allowed_program(const char *program) { return false; } -static void cgi_error(const char *message, const char *reason, const char *filename) +static void NORETURN cgi_error(const char *message, const char *reason, const char *filename) { printf("Status: %s\r\nContent-Type: text/plain\r\n\r\n%s\r\n", message, message); -- cgit v1.2.3