From 85cb5df3cce8c167ee6578873121399329753f59 Mon Sep 17 00:00:00 2001 From: tholo <> Date: Sat, 31 May 1997 08:55:06 +0000 Subject: [PATCH] Make it possible to not output warnings (errors causing aborts are always output). --- src/lib/libc/stdlib/malloc.3 | 6 +++++- src/lib/libc/stdlib/malloc.c | 9 ++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/lib/libc/stdlib/malloc.3 b/src/lib/libc/stdlib/malloc.3 index f5ab9d70..eb09eeed 100644 --- a/src/lib/libc/stdlib/malloc.3 +++ b/src/lib/libc/stdlib/malloc.3 @@ -33,7 +33,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $OpenBSD: malloc.3,v 1.5 1997/05/31 08:47:55 tholo Exp $ +.\" $OpenBSD: malloc.3,v 1.6 1997/05/31 08:55:05 tholo Exp $ .\" .Dd August 27, 1996 .Dt MALLOC 3 @@ -150,6 +150,10 @@ Currently junk is bytes of 0xd0, this is pronounced ``Duh'' :-) ``hint'' pass a hint to the kernel about pages we don't use. If the machine is paging a lot this may help a bit. +.It N +Do not output warning messages when encountering possible corruption +or bad pointers. + .It R ``realloc'' always reallocate when .Fn realloc diff --git a/src/lib/libc/stdlib/malloc.c b/src/lib/libc/stdlib/malloc.c index 94525adf..e8c352ca 100644 --- a/src/lib/libc/stdlib/malloc.c +++ b/src/lib/libc/stdlib/malloc.c @@ -8,7 +8,7 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$OpenBSD: malloc.c,v 1.25 1997/05/31 08:47:56 tholo Exp $"; +static char rcsid[] = "$OpenBSD: malloc.c,v 1.26 1997/05/31 08:55:06 tholo Exp $"; #endif /* LIBC_SCCS and not lint */ /* @@ -219,6 +219,9 @@ static int suicide; static int malloc_stats; #endif +/* avoid outputting warnings? */ +static int malloc_silent; + /* always realloc ? */ static int malloc_realloc; @@ -361,6 +364,8 @@ wrtwarning(p) char *q = " warning: "; if (malloc_abort) wrterror(p); + else if (malloc_silent) + return; write(2, __progname, strlen(__progname)); write(2, malloc_func, strlen(malloc_func)); write(2, q, strlen(q)); @@ -514,6 +519,8 @@ malloc_init () case 'R': malloc_realloc = 1; break; case 'j': malloc_junk = 0; break; case 'J': malloc_junk = 1; break; + case 'n': malloc_silent = 0; break; + case 'N': malloc_silent = 1; break; #ifdef __FreeBSD__ case 'u': malloc_utrace = 0; break; case 'U': malloc_utrace = 1; break;