Free data with underlying vec with vec recreation

This commit is contained in:
Jackson Coxson
2025-12-13 13:08:33 -07:00
parent 9776516544
commit 44e8b83698
2 changed files with 2 additions and 2 deletions

View File

@@ -477,7 +477,7 @@ pub unsafe extern "C" fn app_service_free_process_list(
count: usize, count: usize,
) { ) {
if !processes.is_null() && count > 0 { if !processes.is_null() && count > 0 {
let processes_slice = unsafe { std::slice::from_raw_parts_mut(processes, count) }; let processes_slice = unsafe { Vec::from_raw_parts(processes, count, count) };
for process in processes_slice { for process in processes_slice {
if !process.executable_url.is_null() { if !process.executable_url.is_null() {
let _ = unsafe { CString::from_raw(process.executable_url) }; let _ = unsafe { CString::from_raw(process.executable_url) };

View File

@@ -414,7 +414,7 @@ pub unsafe extern "C" fn idevice_string_free(string: *mut c_char) {
#[unsafe(no_mangle)] #[unsafe(no_mangle)]
pub unsafe extern "C" fn idevice_data_free(data: *mut u8, len: usize) { pub unsafe extern "C" fn idevice_data_free(data: *mut u8, len: usize) {
if !data.is_null() { if !data.is_null() {
let _ = unsafe { std::slice::from_raw_parts(data, len) }; let _ = unsafe { Vec::from_raw_parts(data, len, len) };
} }
} }