diff --git a/crates/convec/RUSTSEC-0000-0000.md b/crates/convec/RUSTSEC-0000-0000.md new file mode 100644 index 0000000..0bba9e2 --- /dev/null +++ b/crates/convec/RUSTSEC-0000-0000.md @@ -0,0 +1,19 @@ +```toml +[advisory] +id = "RUSTSEC-0000-0000" +package = "convec" +date = "2020-11-24" +url = "https://github.com/krl/convec/issues/2" +categories = ["memory-corruption", "thread-safety"] + +[versions] +patched = [] +``` + +# convec::ConVec unconditionally implements Send/Sync + +Affected versions of this crate unconditionally implement Send/Sync for `ConVec`. +This allows users to insert `T` that is not Send or not Sync. + +This allows users to create data races by using non-Send types like `Arc>` or `Rc<_>` as `T` in `ConVec`. It is also possible to create data races by using types like `Cell<_>` or `RefCell<_>` as `T` (types that are `Send` but not `Sync`). +Such data races can lead to memory corruption.