From 24f1efd9cc21ecc01dcc34c47e6a15265a2536dd Mon Sep 17 00:00:00 2001 From: JOE1994 Date: Mon, 18 Jan 2021 23:12:19 -0500 Subject: [PATCH] unconditional Sync impl of atomic-option --- crates/atomic-option/RUSTSEC-0000-0000.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 crates/atomic-option/RUSTSEC-0000-0000.md diff --git a/crates/atomic-option/RUSTSEC-0000-0000.md b/crates/atomic-option/RUSTSEC-0000-0000.md new file mode 100644 index 0000000..544a90d --- /dev/null +++ b/crates/atomic-option/RUSTSEC-0000-0000.md @@ -0,0 +1,19 @@ +```toml +[advisory] +id = "RUSTSEC-0000-0000" +package = "atomic-option" +date = "2020-10-31" +url = "https://github.com/reem/rust-atomic-option/issues/4" +categories = ["memory-corruption"] + +[versions] +patched = [] +``` + +# AtomicOption should have Send + Sync bound on its type argument. + +In the affected versions of this crate, +`AtomicOption` unconditionally implements `Sync`. + +This allows programmers to move non-Sync types across thread boundaries (e.g. `Rc`, `Arc>`), which can lead to data races and undefined behavior. +It is also possible to send non-Send types like `std::sync::MutexGuard` to other threads, which can lead to undefined behavior.