From 3a4aa2a54127e2b633aadabf2f75930e6d0f1dbf Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Thu, 12 Jan 2023 23:46:57 -0700 Subject: [PATCH] tighten deallocate truncation of stack (#1686) --- src/machine/machine_state_impl.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/machine/machine_state_impl.rs b/src/machine/machine_state_impl.rs index 00e17649..a77fda72 100644 --- a/src/machine/machine_state_impl.rs +++ b/src/machine/machine_state_impl.rs @@ -2784,8 +2784,11 @@ impl MachineState { self.cp = frame.prelude.cp; self.e = frame.prelude.e; - if e > self.b { - self.stack.truncate(e); + if self.e > self.b { + let frame = self.stack.index_and_frame(self.e); + let size = AndFrame::size_of(frame.prelude.univ_prelude.num_cells); + + self.stack.truncate(self.e + size); } self.p += 1; -- 2.54.0