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 { match result {
Ok(file) => { Ok(file) => {
let mut file = file.unwrap(); let mut file = file.unwrap();
let result = file.read(&mut buf);
// TODO: Don't panic here match result {
let size = file.read(&mut buf).unwrap().unwrap(); Ok(size) => {
// TODO: Don't panic here too let size = size.unwrap();
config = from_slice(&buf[..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(_) => { Err(_) => {
warn!("\\EFI\\COONBOOT\\boot.json not found, using default configuration"); warn!("\\EFI\\COONBOOT\\boot.json not found, using default configuration");

Loading…
Cancel
Save