Skip to content

Commit

Permalink
Merge pull request #815 from JOE1994/0109-arenavec
Browse files Browse the repository at this point in the history
arenavec: potential double drop or uninitialized memory drop upon panic
  • Loading branch information
Shnatsel committed Mar 7, 2021
2 parents caf713f + c2248b0 commit bcdb169
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions crates/arenavec/RUSTSEC-0000-0000.md
Original file line number Diff line number Diff line change
@@ -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.

0 comments on commit bcdb169

Please # to comment.