Commit 796e36e5 authored by Nick Mathewson's avatar Nick Mathewson 🦀
Browse files

Adjust tor_assert_unreached()

This version of the macro makes it obvious to the compiler that
"tor_assert_unreached()" will always abort().
parent dff7d3d0
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -102,7 +102,12 @@
  } STMT_END
#endif /* defined(TOR_UNIT_TESTS) && defined(DISABLE_ASSERTS_IN_UNIT_TESTS) */

#define tor_assert_unreached() tor_assert(0)
#define tor_assert_unreached()                                  \
  STMT_BEGIN {                                                  \
    tor_assertion_failed_(SHORT_FILE__, __LINE__, __func__,     \
                          "line should be unreached");          \
    abort();                                                    \
  } STMT_END

/* Non-fatal bug assertions. The "unreached" variants mean "this line should
 * never be reached." The "once" variants mean "Don't log a warning more than
+3 −4
Original line number Diff line number Diff line
@@ -523,7 +523,7 @@ rend_data_get_address(const rend_data_t *rend_data)
    return TO_REND_DATA_V2(rend_data)->onion_address;
  default:
    /* We should always have a supported version. */
    tor_assert(0);
    tor_assert_unreached();
  }
}

@@ -546,7 +546,7 @@ rend_data_get_desc_id(const rend_data_t *rend_data, uint8_t replica,
    return TO_REND_DATA_V2(rend_data)->descriptor_id[replica];
  default:
    /* We should always have a supported version. */
    tor_assert(0);
    tor_assert_unreached();
  }
}

@@ -569,7 +569,7 @@ rend_data_get_pk_digest(const rend_data_t *rend_data, size_t *len_out)
  }
  default:
    /* We should always have a supported version. */
    tor_assert(0);
    tor_assert_unreached();
  }
}

@@ -1814,4 +1814,3 @@ hs_inc_rdv_stream_counter(origin_circuit_t *circ)
    tor_assert_nonfatal_unreached();
  }
}