Affected versions of this crate implements Sync
for ReaderResult<T, E>
with the trait bound T: Send, E: Send
.
Since matching on the public enum ReaderResult<T, E>
provides access to &T
& &E
,
allowing data race to a non-Sync type T
or E
.
This can result in a memory corruption when multiple threads concurrently access &T
or &E
.
Suggested fix for the bug is change the trait bounds imposed on T
& E
to be T: Sync, E: Sync
.
{ "license": "CC0-1.0" }