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:
parent
9434e8febc
commit
e7e274b13a
@ -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);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user