Merge branch 'fix-with_argv' into 'master'

fix: adjust memory allocation for argv to include null terminator

Closes #261

See merge request redox-os/relibc!989
This commit is contained in:
Jeremy Soller
2026-02-24 08:13:52 -07:00
+3 -2
View File
@@ -1203,12 +1203,13 @@ unsafe fn with_argv(
stack.as_mut_slice()
} else if argc < 4096 {
// TODO: Use ARG_MAX, not this hardcoded constant
let ptr = unsafe { crate::header::stdlib::malloc(argc * mem::size_of::<*const c_char>()) };
let ptr =
unsafe { crate::header::stdlib::malloc((argc + 1) * mem::size_of::<*const c_char>()) };
if ptr.is_null() {
platform::ERRNO.set(ENOMEM);
return -1;
}
unsafe { slice::from_raw_parts_mut(ptr.cast::<MaybeUninit<*const c_char>>(), argc) }
unsafe { slice::from_raw_parts_mut(ptr.cast::<MaybeUninit<*const c_char>>(), argc + 1) }
} else {
platform::ERRNO.set(E2BIG);
return -1;