Skip to content

Commit

Permalink
Merge pull request #747 from ammaraskar/qwutils
Browse files Browse the repository at this point in the history
[patched] Add advisory for double-free in qwutils
  • Loading branch information
Shnatsel authored Feb 4, 2021
2 parents 13a759a + 81081c1 commit a257f0a
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions crates/qwutils/RUSTSEC-0000-0000.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
```toml
[advisory]
id = "RUSTSEC-0000-0000"
package = "qwutils"
date = "2021-02-03"
url = "https://github.com/qwertz19281/rust_utils/issues/3"
categories = ["memory-corruption"]
keywords = ["memory-safety", "double-free"]

[versions]
patched = [">= 0.3.1"]

[affected]
functions = { "qwutils::imp::vec::VecExt::insert_slice_clone" = ["< 0.3.1"] }
```

# insert_slice_clone can double drop if Clone panics.

Affected versions of this crate used `ptr::copy` when inserting into the middle
of a `Vec`. When ownership was temporarily duplicated during this copy, it calls
the clone method of a user provided element.

This issue can result in an element being double-freed if the clone call panics.

Commit `20cb73d` fixed this issue by adding a `set_len(0)` call before
operating on the vector to avoid dropping the elements during a panic.

0 comments on commit a257f0a

Please sign in to comment.