We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 1c95fcf commit eb420f0Copy full SHA for eb420f0
malloc_bt.cpp
@@ -35,11 +35,13 @@ extern "C" void free(void *ptr) {
35
extern "C" void *realloc(void *ptr, size_t new_size) {
36
printf("realloc %p - %zu\n", ptr, new_size);
37
if (new_size == 0) return nullptr;
38
+ if (ptr == NULL) return malloc(new_size);
39
40
void *temp = malloc(new_size);
41
42
size_t old_size = *(size_t *)(static_cast<char *>(ptr) - sizeof(size_t));
- std::memcpy(temp, ptr, old_size);
43
+ size_t copy_size = (old_size < new_size)? old_size : new_size;
44
+ std::memcpy(temp, ptr, copy_size);
45
46
free(ptr);
47
return temp;
0 commit comments