mirror of
https://github.com/OMGeeky/advisory-db.git
synced 2026-01-07 04:01:35 +01:00
Report double-free in through crate
This commit is contained in:
22
crates/through/RUSTSEC-0000-0000.md
Normal file
22
crates/through/RUSTSEC-0000-0000.md
Normal file
@@ -0,0 +1,22 @@
|
||||
```toml
|
||||
[advisory]
|
||||
id = "RUSTSEC-0000-0000"
|
||||
package = "through"
|
||||
date = "2021-02-18"
|
||||
url = "https://github.com/gretchenfrage/through/issues/1"
|
||||
categories = ["memory-corruption"]
|
||||
keywords = ["memory-safety", "double-free"]
|
||||
|
||||
[versions]
|
||||
patched = []
|
||||
```
|
||||
|
||||
# `through` and `through_and` causes a double free if the map function panics
|
||||
|
||||
`through` and `through_and` take a mutable reference as well as a mapping
|
||||
function to change the provided reference. They do this by calling `ptr::read`
|
||||
on the reference which duplicates ownership and then calling the mapping
|
||||
function.
|
||||
|
||||
If the mapping function panics, both the original object and the one
|
||||
duplicated by `ptr::read` get dropped, causing a double free.
|
||||
Reference in New Issue
Block a user