Browse Source

Remove all unwraps, so code won't panic in some cases

master
Nick Rirush 6 years ago
parent
commit
2e5c0b5d86
Signed by: Rirush GPG Key ID: 8922C7BBF842AFF0
  1. 21
      src/main.rs

21
src/main.rs

@ -64,11 +64,22 @@ pub extern "win64" fn uefi_start(_image: uefi::Handle, table: SystemTable<Boot>)
match result {
Ok(file) => {
let mut file = file.unwrap();
// TODO: Don't panic here
let size = file.read(&mut buf).unwrap().unwrap();
// TODO: Don't panic here too
config = from_slice(&buf[..size]).unwrap();
let result = file.read(&mut buf);
match result {
Ok(size) => {
let size = size.unwrap();
if let Ok(c) = from_slice::<Configuration>(&buf[..size]) {
config = c;
} else {
error!("Failed to parse configuration file");
info!("Using default configuration instead");
}
}
Err(_) => {
error!("Failed to read configuration, file is too large");
info!("Using default configuration instead");
}
}
}
Err(_) => {
warn!("\\EFI\\COONBOOT\\boot.json not found, using default configuration");

Loading…
Cancel
Save