From c8e0fc6335c50b963cf789e50fa6dd954ee974b0 Mon Sep 17 00:00:00 2001 From: otto <> Date: Thu, 13 Apr 2017 18:32:55 +0000 Subject: allow clearing less than allocated and document freezero(3) better --- src/lib/libc/stdlib/malloc.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/lib/libc/stdlib/malloc.c') diff --git a/src/lib/libc/stdlib/malloc.c b/src/lib/libc/stdlib/malloc.c index 07c73ca774..ecac7ddfe9 100644 --- a/src/lib/libc/stdlib/malloc.c +++ b/src/lib/libc/stdlib/malloc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: malloc.c,v 1.220 2017/04/10 05:45:02 otto Exp $ */ +/* $OpenBSD: malloc.c,v 1.221 2017/04/13 18:32:55 otto Exp $ */ /* * Copyright (c) 2008, 2010, 2011, 2016 Otto Moerbeek * Copyright (c) 2012 Matthew Dempsky @@ -1340,15 +1340,15 @@ ofree(struct dir_info *argpool, void *p, int clear, int check, size_t argsz) uint32_t chunknum = find_chunknum(pool, r, p, 0); - if (info->bits[info->offset + chunknum] != + if (info->bits[info->offset + chunknum] < argsz) wrterror(pool, "recorded old size %hu" - " != %zu", + " < %zu", info->bits[info->offset + chunknum], argsz); } - } else if (argsz != sz - mopts.malloc_guard) - wrterror(pool, "recorded old size %zu != %zu", + } else if (sz - mopts.malloc_guard < argsz) + wrterror(pool, "recorded old size %zu < %zu", sz - mopts.malloc_guard, argsz); } if (sz > MALLOC_MAXCHUNK) { -- cgit v1.2.3-55-g6feb