From 02bb2768f176164099a30b74504c86e1accb7bb1 Mon Sep 17 00:00:00 2001 From: Xiretza Date: Fri, 19 Nov 2021 16:51:52 +0100 Subject: [PATCH] config: Remove some "UNREACHABLE" UB footguns Every branch of these long if/else if/else chains returns, so the compiler can figure out on its own that the last line is never reached. If, for some reason, one of the branches does not return (as was the case after 205f1f7, fixed by b22322b), this would usually result in a compiler error ("control reaches end of non-void function"), but adding UNREACHABLE transforms this into silent undefined behaviour. --- config.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/config.c b/config.c index 2f12e201..c655813d 100644 --- a/config.c +++ b/config.c @@ -1012,8 +1012,6 @@ parse_section_main(struct context *ctx) LOG_CONTEXTUAL_ERR("not a valid option: %s", key); return false; } - - UNREACHABLE(); } static bool @@ -2340,8 +2338,6 @@ parse_section_tweak(struct context *ctx) LOG_CONTEXTUAL_ERR("not a valid option: %s", key); return false; } - - UNREACHABLE(); } static bool