-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unsound: can make ARefss
contain a !Send, !Sync object.
#7
Comments
Cool! Thanks for discovering. I guess it's a first for everyone when someone else discovers an unsoundness issue in your own code ;-) I believe the commit referenced above resolves the issue. Would you mind reviewing it and reopen it in case you disagree? Thanks! |
The fix looks good to me 👍 Thank you for your feedback! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hello 🦀 ,
while scanning crates.io, we (Rust group @sslab-gatech) have noticed a soundness/memory safety issue in this crate which allows safe Rust code to trigger undefined behavior.
Issue
It is possible to make
ARefss
contain a non-Send
/ non-Sync
object,since there is no
Send + Sync
bound onV
in theARefss::map()
function.Proof of Concept
I wrote a short program that can trigger undefined behavior in safe Rust using this crate.
Test environment
reffers-0.6.0
rustc 1.47.0 (18bf6b4f0 2020-10-07)
release
mode.Error message from the program
Thank you for checking out this issue 🦀
The text was updated successfully, but these errors were encountered: