Merge pull request #606 from JOE1994/0108-containers

containers: panic safety: double drop may happen within `util::{mutate, mutate2}`
This commit is contained in:
Sergey "Shnatsel" Davidoff
2021-01-20 20:22:32 +01:00
committed by GitHub

View File

@@ -0,0 +1,21 @@
```toml
[advisory]
id = "RUSTSEC-0000-0000"
package = "containers"
date = "2021-01-12"
url = "https://github.com/strake/containers.rs/issues/2"
categories = ["memory-corruption"]
[versions]
patched = [">= 0.9.11"]
```
# panic safety: double drop may happen within `util::{mutate, mutate2}`
Upon panic in a user-provided function `f`, `fn mutate()` & `fn mutate2` drops twice a same object.
Affected versions of this crate did not guard against double drop while temporarily duplicating an object's ownership with `ptr::read()`.
Dropping a same object can result in memory corruption.
The flaw was corrected in version "0.9.11" by fixing the code to abort upon panic.