🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.std.c
Article #5773

realloc

#5773
From: Steve Summit
Date: Wed, 29 Mar 1989 02:07
30 lines
1667 bytes
Today, for the third time in half as many years, I got badly
burned, and wasted lots of time, due to a bug in a certain
vendor's implementation of realloc.  It is an apparently well-
kept secret that realloc is supposed to behave gracefully at
a slightly special-cased boundary point: when handed a NULL
pointer and a nonzero size, it acts essentially as a malloc.

If you have ever implemented a C run-time library, or if you are
implementing one now, or if you may ever implement one, or if you
know anyone who falls into any of these categories, pay attention:
begin your realloc() implementation with the equivalent of:

	char *realloc(ptr, size)
	char *ptr;
	int size;
	{
	if(ptr == NULL)
		return malloc(size);
	...

The ptr argument and realloc's return value may be void *'s, and
the size argument may be an unsigned or a size_t; the essential
point I am making is the test for NULL and the call of malloc.

This is a short message, so that people who don't read long
articles will see it.  I'll hold further explanations and
justifications for another day.

                                            Steve Summit
                                            scs@adam.pika.mit.edu
Technical Details
Message-ID: <10170@bloom-beacon.MIT.EDU>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!bloom-beacon!adam.pika.mit.edu!scs

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!bloom-beacon!adam.pika.mit.edu!scs
From: scs@adam.pika.mit.edu (Steve Summit)
Newsgroups: comp.std.c,comp.lang.c
Subject: realloc
Summary: realloc should handle NULL pointers
Keywords: realloc NULL
Message-ID: <10170@bloom-beacon.MIT.EDU>
Date: 29 Mar 89 02:07:46 GMT
Sender: daemon@bloom-beacon.MIT.EDU
Reply-To: scs@adam.pika.mit.edu (Steve Summit)
Lines: 30