Fix realloc(3) when chk_malloc debugging is on.

The tests for a NULL pointer and size 0 were the wrong way round.

From Intel's patch 9cae4f2ffc4778ed82be04711d8775a84092d4e2.

Change-Id: I118aff3358aa5f34126d74bfaa43f6e2f1a89055
This commit is contained in:
Elliott Hughes 2012-10-12 17:05:05 -07:00
parent 9434e8febc
commit e7e274b13a

View File

@ -406,14 +406,16 @@ extern "C" void chk_free(void *ptr) {
extern "C" void *chk_realloc(void *ptr, size_t size) { extern "C" void *chk_realloc(void *ptr, size_t size) {
// log_message("%s: %s\n", __FILE__, __FUNCTION__); // log_message("%s: %s\n", __FILE__, __FUNCTION__);
if (!ptr) {
return chk_malloc(size);
}
#ifdef REALLOC_ZERO_BYTES_FREE
if (!size) { if (!size) {
chk_free(ptr); chk_free(ptr);
return NULL; return NULL;
} }
#endif
if (!ptr) {
return chk_malloc(size);
}
hdr_t* hdr = meta(ptr); hdr_t* hdr = meta(ptr);