INNER CODE UNIT · Rust
old_modinfo
KernelSU-Next/KernelSU-Next · userspace/ksuinit/src/lib.rs:263
let old_modinfo = &buffer[location.offset..location.offset + location.size];
let replacement = format!("vermagic={required_vermagic}");
let mut new_modinfo = Vec::with_capacity(old_modinfo.len().max(replacement.len() + 1));
let mut replaced = false;
for entry in old_modinfo.split(|byte| *byte == 0) {
if entry.is_empty() {
continue;
}
if entry.starts_with(b"vermagic=") {
if !replaced {
new_modinfo.extend_from_slice(replacement.as_bytes());
new_modinfo.push(0);
replaced = true;
}
} else {
new_modinfo.extend_from_slice(entry);