From 5e39918fe155457e5713b0a531636c1b1135da78 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Mon, 21 Sep 2020 09:12:32 +0200 Subject: [PATCH] fix #3017: check array boundaries before using else we panic here Signed-off-by: Dominik Csapak --- src/server/worker_task.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server/worker_task.rs b/src/server/worker_task.rs index 0f7e291a..771e8447 100644 --- a/src/server/worker_task.rs +++ b/src/server/worker_task.rs @@ -210,7 +210,7 @@ pub fn upid_read_status(upid: &UPID) -> Result { file.read_to_end(&mut data)?; // task logs should end with newline, we do not want it here - if data[data.len()-1] == b'\n' { + if data.len() > 0 && data[data.len()-1] == b'\n' { data.pop(); } @@ -218,7 +218,7 @@ pub fn upid_read_status(upid: &UPID) -> Result { let mut start = 0; for pos in (0..data.len()).rev() { if data[pos] == b'\n' { - start = pos + 1; + start = data.len().min(pos + 1); break; } }