diff --git a/extism_pdk.go b/extism_pdk.go index 3410791..d3f1414 100644 --- a/extism_pdk.go +++ b/extism_pdk.go @@ -92,7 +92,9 @@ func OutputJSON(v any) error { return err } - OutputMemory(AllocateBytes(b)) + mem := AllocateBytes(b) + defer mem.Free() + OutputMemory(mem) return nil } @@ -149,6 +151,7 @@ func SetError(err error) { func SetErrorString(err string) { mem := AllocateString(err) + defer mem.Free() extism_error_set(mem.offset) } @@ -190,6 +193,7 @@ func Log(level LogLevel, s string) { func GetVar(key string) []byte { mem := AllocateBytes([]byte(key)) + defer mem.Free() offset := extism_var_get(mem.offset) clength := extism_length(offset) @@ -215,6 +219,7 @@ func SetVar(key string, value []byte) { func GetVarInt(key string) int { mem := AllocateBytes([]byte(key)) + defer mem.Free() offset := extism_var_get(mem.offset) clength := extism_length(offset) @@ -243,6 +248,7 @@ func SetVarInt(key string, value int) { func RemoveVar(key string) { mem := AllocateBytes([]byte(key)) + defer mem.Free() extism_var_set(mem.offset, 0) }