OVMS3-idf/components/heap
Angus Gratton f7eecfcc67 heap: Fix bug when realloc moves data between heaps
When realloc-ing to a smaller buffer size which ends up allocated in a different heap, the heap
structure is corrupted. This can only happen:

* If heap checking is Comprehensive (meaning buffers are never shrunk in place) and the heap the buffer was originally allocated in is full.
* Calling heap_caps_realloc() to deliberately move a buffer to a different capabilities type, and shrink it at the same time.

Probable fix for https://github.com/espressif/esp-idf/issues/1582
Probably the same issue:
https://www.esp32.com/viewtopic.php?f=2&t=4583
https://www.esp32.com/viewtopic.php?f=13&t=3717
2018-02-09 19:24:37 +08:00
..
include fix typo for heap cap free size 2017-12-27 16:54:22 +08:00
test heap: Fix bug when realloc moves data between heaps 2018-02-09 19:24:37 +08:00
test_multi_heap_host multi_heap: Add heap poisoning features 2017-09-07 16:32:05 +10:00
component.mk Heap tracing support 2017-09-07 16:32:05 +10:00
heap_caps.c heap: Fix bug when realloc moves data between heaps 2018-02-09 19:24:37 +08:00
heap_caps_init.c component/heap : fix heap_region_add check bug 2017-11-16 11:10:13 +08:00
heap_private.h Add option to allocate external RAM using heap_alloc_caps 2017-09-14 10:47:44 +08:00
heap_trace.c heap_trace: fix bug in realloc for copying trace record 2017-12-27 16:54:15 +08:00
Kconfig doc: Add docs for heap trace & poisoning 2017-09-07 16:32:05 +10:00
multi_heap.c heap: Add heap_caps_dump() / heap_caps_dump_all() functions 2017-10-20 11:38:24 +08:00
multi_heap_config.h multi_heap: Add heap poisoning features 2017-09-07 16:32:05 +10:00
multi_heap_internal.h heap: Fix spurious heap_caps_check_integrity() errors in Comprehensive mode 2017-10-18 15:57:52 +08:00
multi_heap_platform.h multi_heap: Print the problem address when aborting due to heap corruption 2017-09-18 16:54:23 +10:00
multi_heap_poisoning.c heap: Fix spurious heap_caps_check_integrity() errors in Comprehensive mode 2017-10-18 15:57:52 +08:00