-
Notifications
You must be signed in to change notification settings - Fork 5
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
Undefined Behaviour after deserialising Merkle tree #2
Comments
@protz this is about the non-null annotation on the
in
where src/dst are allowed to be
So, I think this |
Hi Christoph, There is a massive rewrite underway that fixes this. However, it's very labor-intensive, and many algorithms need to be rewritten to avoid the insertion of null-checks. Do you have time? We could use some help porting the EverCrypt layers and the hash/hmac/hkdf algorithms to avoid ugly C code. Relevant Slack thread: https://everestexpedition.slack.com/archives/C4237009M/p1596467100365000 Thanks, Jonathan |
That's great, thanks for the pointer! I don't have a lot of time, but I'll definitely look at the Merkle tree code. |
Same as hacl-star/hacl-star#327 (cross-referencing the two issues) |
We recently turned on more sanitizer checks for CCF (i.e.
-fsanitize=undefined,address -fno-omit-frame-pointer -fno-sanitize-recover=all -fno-sanitize=function
). We've observed a runtime error after deserialising a Merkle tree and appending two hashes to it:A minimal repro is (using CCF's thin C++ wrapper around EverCrypt hash library):
Backtrace is:
At this point:
Please let me know if you need any additional detail on this. For now, we've added
MerkleTree.c
to our sanitizer blacklist.The text was updated successfully, but these errors were encountered: