-
Notifications
You must be signed in to change notification settings - Fork 62
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
Suspicious code in LLVM.ResolveSetupValue.resolveSAWPred
#1910
Comments
@andreistefanescu Do you have any insight here? I haven't done enough complex SAW proofs to generate a useful test case for this potential change. |
I don't think this is a bug. |
this is the definition of saw-script/src/SAWScript/Prover/Rewrite.hs Lines 21 to 68 in e0e94c6
Those simplifications can eliminate variables, such as |
FWIW, this code doesn't exist in the JVM backend, since it doesn't do any of this |
Fixed in #2037. |
During a code review, @eddywestbrook noticed this part of
SAWScript.Crucible.LLVM.ResolveSetupValue.resolveSAWPred
:saw-script/src/SAWScript/Crucible/LLVM/ResolveSetupValue.hs
Lines 734 to 740 in e0e94c6
We make an effort to rewrite
tm
intotm'
, but immediately afterwards we callevalSharedTerm
ontm
, nottm'
. This seems very suspicious. I don't have a test case on hand to verify that this would introduce bugs, but I bet you could construct one with enough cleverness.The text was updated successfully, but these errors were encountered: