From 0aff6d989c5c7e6f76db7d17684b19b73cfae6cf Mon Sep 17 00:00:00 2001 From: Amrit kumar Mahto Date: Thu, 5 Feb 2026 01:03:39 +0530 Subject: [PATCH] Fix Vec::from_raw_parts UB in string_to_c_chars --- src/rust/src/utils.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rust/src/utils.rs b/src/rust/src/utils.rs index 2947612f5..b63838273 100644 --- a/src/rust/src/utils.rs +++ b/src/rust/src/utils.rs @@ -69,10 +69,11 @@ pub fn null_pointer() -> *mut T { use std::os::raw::c_char; pub fn string_to_c_chars(strs: Vec) -> *mut *mut c_char { - let mut c_strs: Vec<*mut c_char> = Vec::new(); + let mut c_strs: Vec<*mut c_char> = Vec::with_capacity(strs.len()); for s in strs { c_strs.push(string_to_c_char(&s)); } + c_strs.shrink_to_fit(); let ptr = c_strs.as_mut_ptr(); std::mem::forget(c_strs); ptr