From 5a3322ba97b7f7a6737f9b572258ef2114e443e5 Mon Sep 17 00:00:00 2001 From: lyw458372 Date: Mon, 8 Jun 2026 21:07:53 +0800 Subject: [PATCH] fix: crypt_sha: bounds-check before slicing setting --- src/header/crypt/sha.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/header/crypt/sha.rs b/src/header/crypt/sha.rs index a2935a77a2..50dca3563a 100644 --- a/src/header/crypt/sha.rs +++ b/src/header/crypt/sha.rs @@ -77,7 +77,7 @@ pub fn crypt_sha(passw: &str, setting: &str, cipher: ShaType) -> Option let has_round; // 7 is len("rounds=") - if &setting[cursor..cursor + 7] == RSTRING { + if setting.get(cursor..cursor + 7) == Some(RSTRING) { cursor += 7; has_round = true; if let Some(c_end) = setting[cursor..].chars().position(|r| r == '$') {