From ccdbbae4eceb8f6c508b67d53d6242961bf2e6eb Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 11 Jan 2021 14:25:56 -0500 Subject: Fix warnings in current debian-hardened CI. We're getting "fallback annotation annotation in unreachable code" warnings when we build with ALL_BUGS_ARE_FATAL. This patch fixes that. Fixes bug 40241. Bugfix on 0.3.5.4-alpha. --- changes/40241 | 4 ++++ src/core/or/channeltls.c | 3 ++- src/core/or/circuitlist.c | 2 ++ src/feature/client/entrynodes.c | 2 ++ src/feature/rend/rendclient.c | 2 ++ 5 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 changes/40241 diff --git a/changes/40241 b/changes/40241 new file mode 100644 index 0000000000..c9b2e2c011 --- /dev/null +++ b/changes/40241 @@ -0,0 +1,4 @@ + o Minor bugfixes (compilation): + - Fix a compilation warning about unreachable fallthrough annotations + when building with "--enable-all-bugs-are-fatal" on some compilers. + Fixes bug 40241; bugfix on 0.3.5.4-alpha. diff --git a/src/core/or/channeltls.c b/src/core/or/channeltls.c index 299ab88576..bdd82f3138 100644 --- a/src/core/or/channeltls.c +++ b/src/core/or/channeltls.c @@ -1225,8 +1225,9 @@ channel_tls_handle_var_cell(var_cell_t *var_cell, or_connection_t *conn) * the v2 and v3 handshakes. */ /* But that should be happening any longer've disabled bufferevents. */ tor_assert_nonfatal_unreached_once(); - +#ifndef ALL_BUGS_ARE_FATAL FALLTHROUGH; +#endif case OR_CONN_STATE_TLS_SERVER_RENEGOTIATING: if (!(command_allowed_before_handshake(var_cell->command))) { log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL, diff --git a/src/core/or/circuitlist.c b/src/core/or/circuitlist.c index 03d495cdfd..83e2124498 100644 --- a/src/core/or/circuitlist.c +++ b/src/core/or/circuitlist.c @@ -787,7 +787,9 @@ circuit_purpose_to_controller_hs_state_string(uint8_t purpose) "Unrecognized circuit purpose: %d", (int)purpose); tor_fragile_assert(); +#ifndef ALL_BUGS_ARE_FATAL FALLTHROUGH; +#endif case CIRCUIT_PURPOSE_OR: case CIRCUIT_PURPOSE_C_GENERAL: diff --git a/src/feature/client/entrynodes.c b/src/feature/client/entrynodes.c index 8d9230b66b..c930fe244f 100644 --- a/src/feature/client/entrynodes.c +++ b/src/feature/client/entrynodes.c @@ -2263,7 +2263,9 @@ entry_guards_note_guard_success(guard_selection_t *gs, break; default: tor_assert_nonfatal_unreached(); +#ifndef ALL_BUGS_ARE_FATAL FALLTHROUGH; +#endif case GUARD_CIRC_STATE_USABLE_IF_NO_BETTER_GUARD: if (guard->is_primary) { /* XXXX #20832 -- I don't actually like this logic. It seems to make diff --git a/src/feature/rend/rendclient.c b/src/feature/rend/rendclient.c index 5c9dbea8e3..acff805c0e 100644 --- a/src/feature/rend/rendclient.c +++ b/src/feature/rend/rendclient.c @@ -819,7 +819,9 @@ rend_client_report_intro_point_failure(extend_info_t *failed_intro, log_warn(LD_BUG, "Unknown failure type %u. Removing intro point.", failure_type); tor_fragile_assert(); +#ifndef ALL_BUGS_ARE_FATAL FALLTHROUGH; +#endif case INTRO_POINT_FAILURE_GENERIC: rend_cache_intro_failure_note(failure_type, (uint8_t *)failed_intro->identity_digest, -- cgit v1.2.3-54-g00ecf