From: Ian Jackson Date: Wed, 28 Apr 2021 22:29:37 +0000 (+0100) Subject: cmdlistener: Do not allow resizing the table so pieces fall outside X-Git-Tag: otter-0.6.0~508 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=c169f76613276ae4ccf7d8f726bcfb7321e81248;p=otter.git cmdlistener: Do not allow resizing the table so pieces fall outside Signed-off-by: Ian Jackson --- diff --git a/daemon/cmdlistener.rs b/daemon/cmdlistener.rs index 1e2b8368..55d128fe 100644 --- a/daemon/cmdlistener.rs +++ b/daemon/cmdlistener.rs @@ -377,6 +377,9 @@ fn execute_game_insn<'cs, 'igr, 'ig: 'igr>( MGI::SetTableSize(size) => { let ig = cs.check_acl(ag, ig, PCH::Instance, &[TP::ChangePieces])?.0; + for p in ig.gs.pieces.values() { + p.pos.clamped(size).map_err(|_| SpecError::PosOffTable)?; + } ig.gs.table_size = size; (U{ pcs: vec![], log: vec![ LogEntry {