| Rust | ||
|---|---|---|
| Use-After-Free | ||
printf(user_input) | ||
| rustc | ||
| / |
Rust 70%
Ken Thompson 1984 Turing Award C login —— + diverse double-compiling
cargo-vet + cargo-audit CVE + cargo-deny + SBOMSoftware Bill of Materials
// unchecked vector
// let x = v[index]; // index → panicdebug
//
let x = v.get(index).ok_or_else(|| Error::Bounds)?;
// safe
// let p: *const u8 = ...;
//
fn validate_amount(amount: f64) -> Result<(), ValidationError> {
if amount.is_nan() || amount.is_infinite() || amount < 0.0 {
return Err(ValidationError("invalid amount"));
}
Ok(())
}cargo audit # CVE
cargo deny check # //
cargo vet #
cargo sbom # SBOM (cargo-cyclonedx)