summaryrefslogtreecommitdiffstats
path: root/lib/libc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc')
-rw-r--r--lib/libc/stdlib/malloc.311
-rw-r--r--lib/libc/stdlib/malloc.c5
2 files changed, 8 insertions, 8 deletions
diff --git a/lib/libc/stdlib/malloc.3 b/lib/libc/stdlib/malloc.3
index eb09eeedbca..6fd362b93b2 100644
--- a/lib/libc/stdlib/malloc.3
+++ b/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.6 1997/05/31 08:55:05 tholo Exp $
+.\" $OpenBSD: malloc.3,v 1.7 1997/08/23 10:43:24 pefo Exp $
.\"
.Dd August 27, 1996
.Dt MALLOC 3
@@ -77,6 +77,8 @@ coercion) for storage of any type of object. If the space is of
.Em pagesize
or larger, the memory returned will be page-aligned.
.Pp
+Allocation of a zero size object returns a pointer to a zero size object.
+.Pp
The
.Fn free
function causes the space pointed to by
@@ -120,7 +122,8 @@ If
.Fa size
is zero and
.Fa ptr
-is not a null pointer, the object it points to is freed.
+is not a null pointer, the object it points to is freed and a new zero size
+object is returned.
.Pp
Malloc will first look for a symbolic link called
.Pa /etc/malloc.conf
@@ -211,8 +214,8 @@ function returns no value.
.Pp
The
.Fn realloc
-function returns either a null pointer or a pointer
-to the possibly moved allocated space.
+function a pointer to the possibly moved allocated space;
+otherwise a null pointer is returned.
.Sh MESSAGES
If
.Fn malloc ,
diff --git a/lib/libc/stdlib/malloc.c b/lib/libc/stdlib/malloc.c
index 12cc67083da..66d1a2a9daf 100644
--- a/lib/libc/stdlib/malloc.c
+++ b/lib/libc/stdlib/malloc.c
@@ -8,7 +8,7 @@
*/
#if defined(LIBC_SCCS) && !defined(lint)
-static char rcsid[] = "$OpenBSD: malloc.c,v 1.28 1997/08/22 17:06:59 deraadt Exp $";
+static char rcsid[] = "$OpenBSD: malloc.c,v 1.29 1997/08/23 10:43:25 pefo Exp $";
#endif /* LIBC_SCCS and not lint */
/*
@@ -1234,9 +1234,6 @@ realloc(void *ptr, size_t size)
}
if (!ptr) {
r = imalloc(size);
- } else if (ptr && !size) {
- ifree(ptr);
- r = 0;
} else {
r = irealloc(ptr, size);
}