Odpovídáte na názor k článku Rust v jádře má první zranitelnost. Názory mohou přidávat pouze registrovaní uživatelé. Nově přidané názory se na webu objeví až po schválení redakcí.
> Pokud jsou všechny unsafe bloky v pořádku, tak nejde v safe kódu způsobit UB.
Bohužel tohle neplatí. Viz třeba
fn index(idx: usize, arr: &[u8]) -> Option<u8> {
if idx <= arr.len() {
unsafe {
Some(*arr.get_unchecked(idx))
}
} else {
None
}
}
kde špatně je menší nebo rovno, v safe kódu. Unsafe část je naprosto v pořádku. Když to budete opravovat, tak do unsafe části nemusíte vůbec šahat.