diff options
| author | Mason Remaley <mason@anthropicstudios.com> | 2025-02-26 14:53:14 -0800 |
|---|---|---|
| committer | mlugg <mlugg@mlugg.co.uk> | 2025-04-02 05:54:04 +0100 |
| commit | 87209954a74bbf9b82b7ab24c0389a4a133edd31 (patch) | |
| tree | 6f940ec8607aa8a0ab9569b4c805ebacaf3d3801 /src/Zcu/PerThread.zig | |
| parent | 06ee383da9a23016dcb25ff7cb6811e3dc2c387e (diff) | |
| download | zig-87209954a74bbf9b82b7ab24c0389a4a133edd31.tar.gz zig-87209954a74bbf9b82b7ab24c0389a4a133edd31.zip | |
Zcu: fix ZOIR cache bugs
* When saving bigint limbs, we gave the iovec the wrong length, meaning
bigint data (and the following string and compile error data) was corrupted.
* When updating a stale ZOIR cache, we failed to truncate the file, so
just wrote more bytes onto the end of the stale cache.
Diffstat (limited to 'src/Zcu/PerThread.zig')
| -rw-r--r-- | src/Zcu/PerThread.zig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/Zcu/PerThread.zig b/src/Zcu/PerThread.zig index 1031ee6c54..095cd6c1cb 100644 --- a/src/Zcu/PerThread.zig +++ b/src/Zcu/PerThread.zig @@ -234,6 +234,7 @@ pub fn updateFile( error.FileTooBig => unreachable, // 0 is not too big else => |e| return e, }; + try cache_file.seekTo(0); if (stat.size > std.math.maxInt(u32)) return error.FileTooBig; |
