From b6068dde8ca0251cb98c2f020314c173d4bc65eb Mon Sep 17 00:00:00 2001 From: Ilya Zlobintsev Date: Wed, 13 Jan 2021 21:57:38 +0200 Subject: [PATCH] Fixed crash on invalid pp_od_clk_voltage --- daemon/src/gpu_controller.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/daemon/src/gpu_controller.rs b/daemon/src/gpu_controller.rs index 817a6ab..84887e6 100644 --- a/daemon/src/gpu_controller.rs +++ b/daemon/src/gpu_controller.rs @@ -599,9 +599,9 @@ impl GpuController { let line = line.to_uppercase(); let line_parts: Vec<&str> = line.split_whitespace().collect(); - let num: u32 = line_parts[0].chars().nth(0).unwrap().to_digit(10).unwrap(); - let clock: i64 = line_parts[1].strip_suffix("MHZ").ok_or_else(|| GpuControllerError::ParseError)?.parse()?; - let voltage: i64 = line_parts[2].strip_suffix("MV").ok_or_else(|| GpuControllerError::ParseError)?.parse()?; + let num: u32 = line_parts.get(0).ok_or_else(|| GpuControllerError::ParseError)?.chars().nth(0).unwrap().to_digit(10).unwrap(); + let clock: i64 = line_parts.get(1).ok_or_else(|| GpuControllerError::ParseError)?.strip_suffix("MHZ").ok_or_else(|| GpuControllerError::ParseError)?.parse()?; + let voltage: i64 = line_parts.get(2).ok_or_else(|| GpuControllerError::ParseError)?.strip_suffix("MV").ok_or_else(|| GpuControllerError::ParseError)?.parse()?; Ok((num, clock, voltage)) }