Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The C Poly1305 code is expecting the state buffer to be aligned to the same alignment as `double`. However, the Rust code isn't necessarily aligning it that much. The C code actually works fine without the alignment hack as I had explicitly adjusted it to handle unaligned inputs in a previous commit. However, I overlooked the effect that the `union` of `double` hack. This was apparently the cause of the segmentation faults that caused tests to fail with SIGSEGV when building for ARM/Aarch64 with Stable Rust. It seems that newer versions of Rust must align things more granularly as the bug wasn't triggered in Rust Nightly.
- Loading branch information