(CHECK_ZERO_SIZE): New macro; for making sure we don't pass 0 to

malloc and its friends.
(__objc_malloc): Use it.
(__objc_valloc): Likewise.
(__objc_realloc): Likewise.
(__objc_calloc): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@618 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Andrew McCallum 1995-09-30 22:00:21 +00:00
parent 92d1cf0170
commit 5c26bf6a66

View file

@ -1,5 +1,5 @@
/* Memory allocation support for Objective-C: easy garbage collection.
Copyright (C) 1993,1994 Free Software Foundation, Inc.
Copyright (C) 1993,1994, 1995 Free Software Foundation, Inc.
Written by: R. Andrew McCallum <mccallum@gnu.ai.mit.edu>
Date: May 1993
@ -33,9 +33,12 @@
#define valloc malloc
#endif
#define CHECK_ZERO_SIZE(S) if (size == 0) size = 1
void*
__objc_malloc(size_t size)
{
CHECK_ZERO_SIZE(size);
void* res = (void*) malloc(size);
if(!res)
objc_fatal("Virtual memory exhausted\n");
@ -45,6 +48,7 @@ __objc_malloc(size_t size)
void*
__objc_valloc(size_t size)
{
CHECK_ZERO_SIZE(size);
void* res = (void*) valloc(size);
if(!res)
objc_fatal("Virtual memory exhausted\n");
@ -54,6 +58,7 @@ __objc_valloc(size_t size)
void*
__objc_realloc(void* mem, size_t size)
{
CHECK_ZERO_SIZE(size);
void* res = (void*) realloc(mem, size);
if(!res)
objc_fatal("Virtual memory exhausted\n");
@ -63,6 +68,7 @@ __objc_realloc(void* mem, size_t size)
void*
__objc_calloc(size_t nelem, size_t size)
{
CHECK_ZERO_SIZE(size);
void* res = (void*) calloc(nelem, size);
if(!res)
objc_fatal("Virtual memory exhausted\n");