From fdbc4ad83da1e9da5f5b4f179e3dba4ee96a1345 Mon Sep 17 00:00:00 2001 From: mos Date: Thu, 10 Oct 2024 16:33:45 +0200 Subject: [PATCH] add bounds check for bpos --- src/lib.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index da7e71a..18bd36e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -213,6 +213,10 @@ impl State { Cell::Box | Cell::Goal(true) => { let bpos = dpos + pos; + if ((bpos.1 * self.lvl.size.0) + bpos.0) as usize >= self.lvl.map.len() { + return Err(Error::BadMove(bpos)); + } + match self.lvl[bpos] { Cell::None => { self.toggle_box(dpos);