diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 1996-01-29 02:00:22 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 1996-01-29 02:00:22 +0000 |
commit | f63cf12a96d8c8ec19180f026f219ccdd214abf8 (patch) | |
tree | 3a89a4f1326b52f776e6da4ed682ff017c0b5b5e /lib/libc/stdlib/malloc.c | |
parent | 5ea33d20a5d68b6db25180ba99e6f67f461b5694 (diff) |
realloc(ptr, 0) does not free; from seebs@taniemarie.solon.com;
netbsd pr#1806
Diffstat (limited to 'lib/libc/stdlib/malloc.c')
-rw-r--r-- | lib/libc/stdlib/malloc.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/libc/stdlib/malloc.c b/lib/libc/stdlib/malloc.c index bb4c3fd7e77..4498a9fb6c5 100644 --- a/lib/libc/stdlib/malloc.c +++ b/lib/libc/stdlib/malloc.c @@ -1,3 +1,5 @@ +/* $NetBSD: malloc.c,v 1.6 1996/01/17 02:45:25 jtc Exp $ */ + /* * Copyright (c) 1983 Regents of the University of California. * All rights reserved. @@ -32,8 +34,11 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -/*static char *sccsid = "from: @(#)malloc.c 5.11 (Berkeley) 2/23/91";*/ -static char *rcsid = "$Id: malloc.c,v 1.1 1995/10/18 08:42:18 deraadt Exp $"; +#if 0 +static char *sccsid = "from: @(#)malloc.c 5.11 (Berkeley) 2/23/91"; +#else +static char *rcsid = "$NetBSD: malloc.c,v 1.6 1996/01/17 02:45:25 jtc Exp $"; +#endif #endif /* LIBC_SCCS and not lint */ /* @@ -310,6 +315,10 @@ realloc(cp, nbytes) if (cp == NULL) return (malloc(nbytes)); + if (nbytes == 0) { + free (cp); + return NULL; + } op = (union overhead *)((caddr_t)cp - sizeof (union overhead)); if (op->ov_magic == MAGIC) { was_alloced++; |