diff options
author | Alexander Krutwig <alexander.krutwig@embedded-brains.de> | 2016-06-14 09:26:12 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-06-22 16:07:43 +0200 |
commit | 006af6ac76d3dd6248999f097e14d37fed5cf421 (patch) | |
tree | 11ccc74eb6dd2b258d2bc5349069a0ef6921dde2 | |
parent | score: Add thread priority to scheduler nodes (diff) | |
download | rtems-006af6ac76d3dd6248999f097e14d37fed5cf421.tar.bz2 |
score: Improve heap protection
Check block pointers of deferred free list before use.
-rw-r--r-- | cpukit/score/src/heapallocate.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/cpukit/score/src/heapallocate.c b/cpukit/score/src/heapallocate.c index a76ac04f49..77ed582ce1 100644 --- a/cpukit/score/src/heapallocate.c +++ b/cpukit/score/src/heapallocate.c @@ -43,9 +43,14 @@ uintptr_t count = 0; for ( count = 0; count < blocks_to_free_count; ++count ) { - Heap_Block *next_block_to_free = - block_to_free->Protection_begin.next_delayed_free_block; + Heap_Block *next_block_to_free; + + if ( !_Heap_Is_block_in_heap( heap, block_to_free ) ) { + _Heap_Protection_block_error( heap, block_to_free ); + } + next_block_to_free = + block_to_free->Protection_begin.next_delayed_free_block; block_to_free->Protection_begin.next_delayed_free_block = HEAP_PROTECTION_OBOLUS; |