From 14df3b10501ae484501380916bec8860ac54eda3 Mon Sep 17 00:00:00 2001 From: Emil Lerch Date: Fri, 6 Mar 2026 15:13:33 -0800 Subject: [PATCH] fix segfault --- src/cache/store.zig | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/cache/store.zig b/src/cache/store.zig index 82fe4b5..a02e405 100644 --- a/src/cache/store.zig +++ b/src/cache/store.zig @@ -274,11 +274,15 @@ pub const Store = struct { } var reader = std.Io.Reader.fixed(data); - const parsed = srf.parse(&reader, allocator, .{ .alloc_strings = true }) catch return error.InvalidData; + const parsed = srf.parse(&reader, allocator, .{ .alloc_strings = false }) catch return error.InvalidData; defer parsed.deinit(); for (parsed.records.items) |record| { - const div = record.to(Dividend) catch continue; + var div = record.to(Dividend) catch continue; + // Dupe owned strings before parsed.deinit() frees the backing buffer + if (div.currency) |c| { + div.currency = allocator.dupe(u8, c) catch null; + } try dividends.append(allocator, div); }