Data races in v9
High severity
GitHub Reviewed
Published
Aug 25, 2021
to the GitHub Advisory Database
•
Updated Jun 13, 2023
Description
Reviewed
Aug 5, 2021
Published to the GitHub Advisory Database
Aug 25, 2021
Last updated
Jun 13, 2023
Affected versions of this crate unconditionally implement
Sync
forSyncRef<T>
. This definition allows data races if&T
is accessible through&SyncRef
.SyncRef<T>
derivesClone
andDebug
, and the default implementations of those traits access&T
by invokingT::clone()
&T::fmt()
. It is possible to create data races & undefined behavior by concurrently invokingSyncRef<T>::clone()
orSyncRef<T>::fmt()
from multiple threads withT: !Sync
.References