From ec9b9080d7859944bd80b9ea1fd5a2a63cfe9d1a Mon Sep 17 00:00:00 2001 From: Jeroen Bobbeldijk Date: Fri, 1 Dec 2023 20:26:21 +0100 Subject: [PATCH] Fix <= 3.1.46 --- internal/emval.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/internal/emval.go b/internal/emval.go index b97299a..ce4dd5b 100644 --- a/internal/emval.go +++ b/internal/emval.go @@ -835,6 +835,11 @@ var EmvalRunDestructors = api.GoModuleFunc(func(ctx context.Context, mod api.Mod engine := MustGetEngineFromContext(ctx, mod).(*engine) id := api.DecodeI32(stack[0]) + // Fix emval_run_destructors for <= 3.1.46 when id is 0 (no destructors). + if id == 0 { + return + } + destructorsVal, err := engine.emvalEngine.toValue(id) if err != nil { panic(fmt.Errorf("could not find handle: %w", err))