Affected versions of this crate unconditionally implement Send/Sync for Cache<K>
.
This allows users to insert K
that is not Send or not Sync.
This allows users to create data races by using non-Send types like Arc<Cell<T>>
or Rc<T>
as K
in Cache<K>
. It is also possible to create data races by using types like Cell<T>
or RefCell<T>
(types that are Send
but not Sync
).
Such data races can lead to memory corruption.
{ "license": "CC0-1.0" }