From 7fe26bc9668d416196696702c144d0545321c89e Mon Sep 17 00:00:00 2001 From: hobostay Date: Sat, 14 Mar 2026 13:10:11 +0800 Subject: [PATCH] Fix TrackingAllocator reallocation_count being incremented on failed operations The reallocation_count counter was being incremented regardless of whether the resize/remap operations succeeded. This led to inaccurate memory allocation statistics. - resize: Only increment when rawResize returns true (success) - remap: Only increment when rawRemap returns non-null (success) This fixes the TODO comments that were present in the code. Co-Authored-By: Claude Opus 4.6 --- src/test_runner.zig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test_runner.zig b/src/test_runner.zig index 287e06b4..5d9d1cdd 100644 --- a/src/test_runner.zig +++ b/src/test_runner.zig @@ -501,7 +501,7 @@ pub const TrackingAllocator = struct { defer self.mutex.unlock(); const result = self.parent_allocator.rawResize(old_mem, alignment, new_len, ra); - self.reallocation_count += 1; // TODO: only if result is not null? + if (result) self.reallocation_count += 1; return result; } @@ -531,7 +531,7 @@ pub const TrackingAllocator = struct { defer self.mutex.unlock(); const result = self.parent_allocator.rawRemap(memory, alignment, new_len, ret_addr); - self.reallocation_count += 1; // TODO: only if result is not null? + if (result != null) self.reallocation_count += 1; return result; } };