aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/jq/compile.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/jq/compile.zig')
-rw-r--r--src/jq/compile.zig7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/jq/compile.zig b/src/jq/compile.zig
index fb2a691..78512b9 100644
--- a/src/jq/compile.zig
+++ b/src/jq/compile.zig
@@ -57,7 +57,12 @@ pub const Instr = union(Opcode) {
pub fn deinit(self: Self, allocator: std.mem.Allocator) void {
switch (self) {
.object_key => |key| allocator.free(key),
- .literal => |value| allocator.destroy(value),
+ .literal => |value| {
+ if (value.* == .string) {
+ allocator.free(value.string);
+ }
+ allocator.destroy(value);
+ },
else => {},
}
}