summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/src/free.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-06-01 07:04:45 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-06-05 08:49:56 +0200
commitde9b7d712bf5da6593386fd4fbca0d5f8b8431d8 (patch)
tree0f5716349a3a50243bd24f2cb9eaed280d88e3e8 /cpukit/libcsupport/src/free.c
parentUpdate rtems_fatal_source_text() (diff)
downloadrtems-de9b7d712bf5da6593386fd4fbca0d5f8b8431d8.tar.bz2
Add RTEMS_FATAL_SOURCE_INVALID_HEAP_FREE
An invalid heap usage such as a double free is usually a fatal error since this indicates a use after free. Replace the use of printk() in free() with a fatal error. Update #3437.
Diffstat (limited to 'cpukit/libcsupport/src/free.c')
-rw-r--r--cpukit/libcsupport/src/free.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/cpukit/libcsupport/src/free.c b/cpukit/libcsupport/src/free.c
index 90209580db..d8dd2bdb0e 100644
--- a/cpukit/libcsupport/src/free.c
+++ b/cpukit/libcsupport/src/free.c
@@ -38,12 +38,7 @@ void free(
}
if ( !_Protected_heap_Free( RTEMS_Malloc_Heap, ptr ) ) {
- printk( "Program heap: free of bad pointer %p -- range %p - %p \n",
- ptr,
- (void*) RTEMS_Malloc_Heap->area_begin,
- (void*) RTEMS_Malloc_Heap->area_end
- );
+ rtems_fatal( RTEMS_FATAL_SOURCE_INVALID_HEAP_FREE, (rtems_fatal_code) ptr );
}
-
}
#endif