-
Notifications
You must be signed in to change notification settings - Fork 63
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
Vague error messages & Undefined behavior encountered #1562
Comments
It's hard to know for sure without seeing the full example, but most likely, this is the result of the way SAW analyzes LLVM bitcode. When Clang compiles C code to LLVM bitcode, the LLVM bitcode will often stack-allocate memory that doesn't directly correspond to a line of code in the original C code. In these sorts of situations, SAW will simply report "
Since you mentioned |
If didn't compile with debug symbols, try that. The |
Thanks to both of you for your help, the problem is mostly solved. |
When using saw-script, I encountered two problems that could not be solved. I could not understand the meaning of these errors and speculated about the causes of the errors, but still did not solve them. So I wanted to ask for some help.
I don't understand what "internal" means which doesn't help debug at all. I've seen this error in some other problems, but their solution doesn't seem to work for me.Because the "memcpy_s" function is used in my chacha20, I guess it's a problem. However, the for loop assignment is still useless, and more errors are reported.
And I see some OpenSSL memory function verification in aws-lc-verification(aws-lc-verification\SAW\proof\common\memory.saw)), so I wonder if the saw implementation and proof of this memcpy function is missing. (But I haven't tried it yet. )
The source address and destination address of the "memcpy_s" function should be different, but the error message is "Comparison of points from different allocations". I wonder if I need to describe the behavior of "memcpy_s" so that it can be trusted to avoid errors.
In aws-lc-verification, they are tested on the EVP interface, but I directly verify the underlying OpenSSL function interface. (For example, openssl\crypto\sha\sha256.c - SHA256_Init). Is this a problem? Since there are "memset" and "memcpy" proofs in the underlying functions that are not in aws-lc-verification\SAW\proof\common\memory.saw.
If you have free time, please help me, thank you very much!
The text was updated successfully, but these errors were encountered: