Merge pull request #642 from JOE1994/0077-va-ts

va-ts: `Demuxer` can carry non-Send types across thread boundaries
This commit is contained in:
Sergey "Shnatsel" Davidoff
2021-01-21 23:41:19 +01:00
committed by GitHub

View File

@@ -0,0 +1,19 @@
```toml
[advisory]
id = "RUSTSEC-0000-0000"
package = "va-ts"
date = "2020-12-22"
url = "https://github.com/video-audio/va-ts/issues/4"
categories = ["memory-corruption"]
[versions]
patched = [">= 0.0.4"]
```
# `Demuxer` can carry non-Send types across thread boundaries
In the affected versions of this crate, `Demuxer<T>` unconditionally implemented `Send` with no trait bounds on `T`.
This allows sending a non-Send type `T` across thread boundaries, which can cause undefined behavior like unlocking a mutex from a thread that didn't lock the mutex, or memory corruption from data race.
The flaw was corrected in commit 0562cbf by adding a `T: Send` bound to the `Send` impl for `Demuxer<T>`.