zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 9c196efa2afe0e337ac0b16bd1138e89393f6106 (tree)
parent 46d84a1b639eb8e2c11b1936e6897a6352802325
Author: Benjamin Feng <benjamin.feng@glassdoor.com>
Date:   Thu, 30 Jan 2020 01:12:21 -0600

Add explicit error message for too many frees

Diffstat:
Mlib/std/testing/leak_count_allocator.zig | 3+++
1 file changed, 3 insertions(+), 0 deletions(-)

diff --git a/lib/std/testing/leak_count_allocator.zig b/lib/std/testing/leak_count_allocator.zig @@ -33,6 +33,9 @@ pub const LeakCountAllocator = struct { fn shrink(allocator: *std.mem.Allocator, old_mem: []u8, old_align: u29, new_size: usize, new_align: u29) []u8 { const self = @fieldParentPtr(LeakCountAllocator, "allocator", allocator); if (new_size == 0) { + if (self.count == 0) { + std.debug.panic("error - too many calls to free, most likely double free", .{}); + } self.count -= 1; } return self.internal_allocator.shrinkFn(self.internal_allocator, old_mem, old_align, new_size, new_align);