Unsound handling of alignment in llvm overrides #635
Labels
subsystem: crucible-llvm
Issues related to LLVM bitcode verification with crucible-llvm
type: bug
Issues reporting bugs or unexpected/unwanted behavior
unsoundness
Issues that can lead to unsoundness or false verification
Milestone
Here is a pair of C functions that should not work: Function
foo
passes a non-aligned pointer to functionwrite
, so the symbolic simulation should fail when functionwrite
tries to write valuex
to memory.If we try to verify
foo
directly without an override forwrite
, then symbolic simulation fails as expected:But if we prove and use an override for
write
, then we can get the verification to go through:Apparently, when we run an override, we aren't checking the alignment preconditions at all. We should fix that.
The text was updated successfully, but these errors were encountered: