From 26809522b7ae18487c0593309d23aaa1eea9236c Mon Sep 17 00:00:00 2001 From: Brooks Date: Tue, 2 May 2023 15:17:36 -0400 Subject: [PATCH] bucket_map: get_from_bytes should check alignment (#31444) --- bucket_map/src/index_entry.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bucket_map/src/index_entry.rs b/bucket_map/src/index_entry.rs index 97915cdc3..70311305e 100644 --- a/bucket_map/src/index_entry.rs +++ b/bucket_map/src/index_entry.rs @@ -426,12 +426,14 @@ impl IndexEntryPlaceInBucket { fn get_from_bytes(item_slice: &[u8]) -> &T { debug_assert!(std::mem::size_of::() <= item_slice.len()); let item = item_slice.as_ptr() as *const T; + debug_assert!(item as usize % std::mem::align_of::() == 0); unsafe { &*item } } fn get_mut_from_bytes(item_slice: &mut [u8]) -> &mut T { debug_assert!(std::mem::size_of::() <= item_slice.len()); let item = item_slice.as_mut_ptr() as *mut T; + debug_assert!(item as usize % std::mem::align_of::() == 0); unsafe { &mut *item } }