Some operations can cause rust-apt segfault
Like:
fn main() {
let mut f = std::fs::OpenOptions::new()
.write(true)
.append(true)
.open("/var/lib/apt/lists/mirrors.bfsu.edu.cn_anthon_debs_dists_stable_InRelease")
.unwrap();
f.write_all(b"\ndsadasdasdas\n").unwrap();
f.flush().unwrap();
drop(f);
let cache = new_cache!().unwrap();
let sort = PackageSort::default();
let pkgs = cache.packages(&sort);
for pkg in pkgs {
dbg!(pkg.name());
}
}
apt list
output:
E: Clearsigned file '/var/lib/apt/lists/mirrors.bfsu.edu.cn_anthon_debs_dists_stable_InRelease' contains unsigned lines.
E: The package lists or status file could not be parsed or opened.
rust-apt:
saki@Magputer [ segfault@ ] $ sudo ./target/debug/segfault
Segmentation fault