One of the Dot X crashes had this heap corruption
dot_x!std::path::Path::to_path_buf
↓
dot_x!windows_volume_control::process_api::get_process_info
↓
dot_x!windows_volume_control::AudioController::GetAllProcessSessions
Things to check:
In windows_volume_control::process_api::get_process_info:
One of the Dot X crashes had this heap corruption
dot_x!std::path::Path::to_path_buf
↓
dot_x!windows_volume_control::process_api::get_process_info
↓
dot_x!windows_volume_control::AudioController::GetAllProcessSessions
Things to check:
In windows_volume_control::process_api::get_process_info:
manual CString::from_raw or String::from_utf16 without copying properly.
unsafe FFI calls returning heap pointers that you free twice or free incorrectly.