RUSTSEC-2021-0040

panic safety: double drop or uninitialized drop of T upon panic

Issued
Package
arenavec (crates.io)
Type
Vulnerability
Categories
  • memory-corruption
Aliases
Details
https://github.com/ibabushkin/arenavec/issues/1
Patched
no patched versions

Description

Affected versions of this crate did not guard against potential panics that may happen from user-provided functions T::default() and T::drop().

Panic within T::default() leads to dropping uninitialized T, when it is invoked from common::Slice::<T, H>::new(). Panic within T::drop() leads to double drop of T, when it is invoked either from common::SliceVec::<T, H>::resize_with() or common::SliceVec::<T, H>::resize()

Either case causes memory corruption in the heap memory.

More