diff --git a/src/terminal/snapshot/snapshot.zig b/src/terminal/snapshot/snapshot.zig index b2dfbe157..9c6dc96d4 100644 --- a/src/terminal/snapshot/snapshot.zig +++ b/src/terminal/snapshot/snapshot.zig @@ -50,7 +50,10 @@ pub fn encode( // Continuation errors must not emit even the snapshot envelope. try continuation.validate(options.continuation); - var stream: record.Writer = .init(alloc, destination); + // A measured 512-byte buffer handles our smallest records on the stack + // before larger records fall back to the heap. + var stack_alloc = std.heap.stackFallback(512, alloc); + var stream: record.Writer = .init(stack_alloc.get(), destination); defer stream.deinit(); // 1. Envelope