Make sure we set errno sensibly in case of failure.

Spotted by:	ache
This commit is contained in:
phk 2002-08-09 10:16:24 +00:00
parent 523fe00262
commit e1f27f13db

View File

@ -1093,6 +1093,7 @@ malloc(size_t size)
wrtwarning("recursive call\n");
malloc_active--;
THREAD_UNLOCK();
errno = EDOFUS;
return (0);
}
if (!malloc_started)
@ -1108,6 +1109,8 @@ malloc(size_t size)
THREAD_UNLOCK();
if (malloc_xmalloc && !r)
wrterror("out of memory\n");
if (!r)
errno = ENOMEM;
return (r);
}
@ -1120,6 +1123,7 @@ free(void *ptr)
wrtwarning("recursive call\n");
malloc_active--;
THREAD_UNLOCK();
errno = EDOFUS;
return;
}
if (ptr != ZEROSIZEPTR)
@ -1142,6 +1146,7 @@ realloc(void *ptr, size_t size)
wrtwarning("recursive call\n");
malloc_active--;
THREAD_UNLOCK();
errno = EDOFUS;
return (0);
}
if (ptr && !malloc_started) {
@ -1170,6 +1175,8 @@ realloc(void *ptr, size_t size)
THREAD_UNLOCK();
if (malloc_xmalloc && err)
wrterror("out of memory\n");
if (err)
errno = ENOMEM;
return (r);
}