Data races in ticketed_lock
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 implemented
Send
forReadTicket<T>
&WriteTicket<T>
.This allows to send non-Send
T
to other threads.This can allows creating data races by cloning types with internal mutability and sending them to other threads (as
T
ofReadTicket<T>
/WriteTicket<T>
). Such data races can cause memory corruption or other undefined behavior.The flaw was corrected in commit
a986a93
by addingT: Send
bounds toSend
impls ofReadTicket<T>
/WriteTicket<T>
.References