]> pd.if.org Git - pdclib/blobdiff - functions/stdlib/realloc.c
Bug #1 - realloc( NULL, size ) fails. Fixed.
[pdclib] / functions / stdlib / realloc.c
index df5fca1bc75904411404315cac347ea32f8d164c..90214e0ccc2ac877feed6e113c57f61a0d06a988 100644 (file)
 
 void * realloc( void * ptr, size_t size )
 {
+    if ( ptr == NULL )
+    {
+        return malloc( size );
+    }
+    {
     struct _PDCLIB_memnode_t * baseptr = (struct _PDCLIB_memnode_t *)( (char *)ptr - sizeof( struct _PDCLIB_memnode_t ) );
     if ( baseptr->size >= size )
     {
@@ -30,6 +35,7 @@ void * realloc( void * ptr, size_t size )
         free( ptr );
         return newptr;
     }
+    }
     return NULL;
 }