Skip to content

v0.4.3

Latest

Choose a tag to compare

@LukasKalbertodt LukasKalbertodt released this 23 Aug 19:37
9057001
  • Fix various memory unsafety bugs, mostly related to panics that happen while dropping an element. Also see GHSA-mr2v-63pc-gmr4
    • Fix panic-safety unsoundness in BitVecCore::clear in #51 (thanks @tooson9010-spec)
    • Fix panic-safety unsoundness in extend_from_slice (in 7f82e0e0)
    • Fix panic-safety unsoundness in retain & retain_indices (in 86ed705)
    • Fix clear to store correct num_elements even when drops panic (in 2c517be1)
    • Fix invalid reborrow (under stacked borrow model) in OptionCore (in 645f7479)
    • Fix BitVecCore (re)allocations for allocation sizes > isize::MAX (in 27c1e5b4)
    • Add warning to Core docs that the trait should be unsafe (this will be changed in the next major version)
  • Internal improvements to avoid these issues in the future. E.g. more tests, run Miri for unwind tests, harden certain functions against corrupted metadata, ...
  • Fix BitVecCore::clone leaking elements if T::clone panics (in a6f632e6)
  • Improve BitVecCore::drop to always deallocate own memory, even if T::drop panics (in 702aa80)
  • Fix some doc comments
  • Fix potential overflow in reserve_for (in 440ce89)
  • Fix OptionCore for uninhabited types (in a25224b)