From a100adc1f2c5b26300c18c6d03bba006d6f4ee86 Mon Sep 17 00:00:00 2001 From: Thom Chiovoloni Date: Fri, 16 Sep 2022 13:29:37 -0700 Subject: [PATCH] Fix potential unsoundness in `SqliteMallocString` --- src/util/sqlite_string.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/util/sqlite_string.rs b/src/util/sqlite_string.rs index 88df575..da9f3f6 100644 --- a/src/util/sqlite_string.rs +++ b/src/util/sqlite_string.rs @@ -131,7 +131,8 @@ impl SqliteMallocString { // (everything is aligned to 1) // - `size` is also never zero, although this function doesn't actually require // it now. - let layout = Layout::from_size_align_unchecked(s.len().saturating_add(1), 1); + let len = s.len().saturating_add(1).min(isize::MAX as usize); + let layout = Layout::from_size_align_unchecked(len, 1); // Note: This call does not return. handle_alloc_error(layout); });