Affected versions of this crate implement Send/Sync for ArcGuard<RC, T>
with no trait bounds on RC
. This allows users to send RC: !Send
to other threads and also allows users to concurrently access Rc: !Sync
from multiple threads.
This can result in memory corruption from data race or other undefined behavior caused by sending T: !Send
to other threads (e.g. dropping MutexGuard<T>
in another thread that didn't lock its mutex).