diff --git a/net-im/libsignal/files/patch-rust_bridge_shared_types_src_ffi_mod.rs b/net-im/libsignal/files/patch-rust_bridge_shared_types_src_ffi_mod.rs new file mode 100644 index 000000000000..a9213fbb60b6 --- /dev/null +++ b/net-im/libsignal/files/patch-rust_bridge_shared_types_src_ffi_mod.rs @@ -0,0 +1,27 @@ +--- rust/bridge/shared/types/src/ffi/mod.rs.orig 2026-06-25 20:33:59 UTC ++++ rust/bridge/shared/types/src/ffi/mod.rs +@@ -79,8 +79,7 @@ impl BorrowedMutableSliceOf { + } + } + +-/// A buffer of `length` elements of type `T`, allocated with the alignment of +-/// [`libc::max_align_t`]. ++/// A buffer of `length` elements of type `T`, allocated with a fixed alignment. + /// + /// The number of bytes allocated is stored in `size_bytes`. + /// +@@ -100,8 +99,13 @@ impl OwnedBufferOfMaxAligned { + } + + impl OwnedBufferOfMaxAligned { +- pub const ALIGNMENT: usize = std::mem::align_of::(); ++ // A reasonable max alignment for most types we use. (We aren't using SIMD types here.) ++ // A const-time assertion will trip if this alignment isn't sufficient. ++ pub const ALIGNMENT: usize = 16; + pub fn layout_for_count(count: usize) -> std::alloc::Layout { ++ const { ++ assert!(std::mem::align_of::() <= Self::ALIGNMENT); ++ } + std::alloc::Layout::array::(count) + .expect("valid layout") + .align_to(Self::ALIGNMENT)