Filter out trailing NUL bytes when renaming procs.

This commit is contained in:
4lDO2
2025-04-21 18:34:25 +02:00
parent 0fed1bf2c0
commit 6898d8b14c
+8 -1
View File
@@ -2288,12 +2288,19 @@ impl<'a> ProcScheme<'a> {
])
}
fn on_proc_rename(&mut self, pid: ProcessId, new_name_raw: &[u8]) -> Result<()> {
let new_name = core::str::from_utf8(new_name_raw).map_err(|_| Error::new(EINVAL))?;
let name_len = new_name_raw
.iter()
.position(|c| *c == 0)
.unwrap_or(new_name_raw.len());
let new_name =
core::str::from_utf8(&new_name_raw[..name_len]).map_err(|_| Error::new(EINVAL))?;
let mut proc = self
.processes
.get(&pid)
.ok_or(Error::new(ESRCH))?
.borrow_mut();
proc.name = ArrayString::from_str(&new_name[..new_name.len().min(NAME_CAPAC)]).unwrap();
if let Err(err) = proc.sync_kernel_attrs(pid, self.auth) {
log::warn!("Failed to set kernel attrs when renaming proc: {err}");