Merge pull request #815 from JOE1994/0109-arenavec

arenavec: potential double drop or uninitialized memory drop upon panic
This commit is contained in:
Sergey "Shnatsel" Davidoff
2021-03-07 16:09:38 +01:00
committed by GitHub

View File

@@ -0,0 +1,20 @@
```toml
[advisory]
id = "RUSTSEC-0000-0000"
package = "arenavec"
date = "2021-01-12"
url = "https://github.com/ibabushkin/arenavec/issues/1"
categories = ["memory-corruption"]
[versions]
patched = []
```
# panic safety: double drop or uninitialized drop of T upon panic
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.