Affected versions of this crate unconditionally implements Send
/Sync
for Bunch<T>
.
This allows users to insert T: !Sync
to Bunch<T>
. It is possible to create a data race to a T: !Sync
by invoking the Bunch::get()
API (which returns &T
) from multiple threads. It is also possible to send T: !Send
to other threads by inserting T
inside Bunch<T>
and sending Bunch<T>
to another thread, allowing to create a data race by inserting types like T = Rc<_>
.
Such data races can lead to memory corruption.
{ "license": "CC0-1.0" }