]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Always check the retval of circpad_machine_current_state().
authorGeorge Kadianakis <desnacked@riseup.net>
Sat, 29 Jun 2019 16:46:43 +0000 (19:46 +0300)
committerGeorge Kadianakis <desnacked@riseup.net>
Mon, 1 Jul 2019 07:13:06 +0000 (10:13 +0300)
changes/bug31024 [new file with mode: 0644]
src/core/or/circuitpadding.c

diff --git a/changes/bug31024 b/changes/bug31024
new file mode 100644 (file)
index 0000000..888fb2a
--- /dev/null
@@ -0,0 +1,4 @@
+  o Minor bugfixes (circuitpadding):
+    - Add two NULL checks in unreachable places to silence Coverity (CID 144729
+      and 1447291) and better future proof ourselves. Fixes bug 31024; bugfix
+      on 0.4.1.1-alpha.
\ No newline at end of file
index 626787da7b878f48b529b4c52a7868a4ef769783..c4670bbc2ffbbda8e9e9f67da5e62cfd7b9228d4 100644 (file)
@@ -450,6 +450,9 @@ circpad_is_token_removal_supported(circpad_machine_runtime_t *mi)
     /* Machines that do want token removal are less sensitive to performance.
      * Let's spend some time to check that our state is consistent and sane */
     const circpad_state_t *state = circpad_machine_current_state(mi);
+    if (BUG(!state)) {
+      return 1;
+    }
     tor_assert_nonfatal(state->token_removal != CIRCPAD_TOKEN_REMOVAL_NONE);
     tor_assert_nonfatal(state->histogram_len == mi->histogram_len);
     tor_assert_nonfatal(mi->histogram_len != 0);
@@ -1667,6 +1670,9 @@ circpad_estimate_circ_rtt_on_received(circuit_t *circ,
     }
   } else {
     const circpad_state_t *state = circpad_machine_current_state(mi);
+    if (BUG(!state)) {
+      return;
+    }
 
     /* Since monotime is unpredictably expensive, only update this field
      * if rtt estimates are needed. Otherwise, stop the rtt update. */