From: Bennet Bleßmann Date: Sat, 3 Aug 2024 17:27:32 +0000 (+0200) Subject: drop payload after resetting machine X-Git-Tag: v0.10.0~125^2~1 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=4d3ceb387e290bd80fbbcb476d9353602740e428;p=scryer-prolog.git drop payload after resetting machine - under some circumstances the payload is accessed durring reset which would cause a segfault if we drop the payload too early --- diff --git a/src/machine/loader.rs b/src/machine/loader.rs index 07efb58a..87483dce 100644 --- a/src/machine/loader.rs +++ b/src/machine/loader.rs @@ -323,8 +323,8 @@ impl<'a> LoadState<'a> for LiveLoadAndMachineState<'a> { #[inline(always)] fn reset_machine(loader: &mut Loader<'a, Self>) { if loader.payload.load_state.get_tag() != ArenaHeaderTag::Dropped { - loader.payload.load_state.drop_payload(); loader.reset_machine(); + loader.payload.load_state.drop_payload(); } }