summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc/stackchk
diff options
context:
space:
mode:
authorKinsey Moore <kinsey.moore@oarcorp.com>2022-01-26 16:00:04 -0600
committerJoel Sherrill <joel@rtems.org>2022-01-27 13:07:30 -0600
commitb539af865ea3217a50c8e4cbf0f668807c134356 (patch)
tree52af413092bfe40c3fde77d8935219245f151169 /cpukit/libmisc/stackchk
parentRemove obsolete rtems_gxx_*() implementation (diff)
downloadrtems-b539af865ea3217a50c8e4cbf0f668807c134356.tar.bz2
cpukit: Prevent error with disabled stack checker
When the stack checker is not enabled, the stack checker reporting function can still be called. This prevents that call from performing a null memory access in trying to find the high water mark if the stack checker was never initialized. This also introduces a test to ensure this call does not cause a crash. Closes #4588
Diffstat (limited to 'cpukit/libmisc/stackchk')
-rw-r--r--cpukit/libmisc/stackchk/check.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/cpukit/libmisc/stackchk/check.c b/cpukit/libmisc/stackchk/check.c
index a2b63345d9..fa0c3ea1ed 100644
--- a/cpukit/libmisc/stackchk/check.c
+++ b/cpukit/libmisc/stackchk/check.c
@@ -410,6 +410,11 @@ static bool Stack_check_Dump_stack_usage(
void *low;
void *high_water_mark;
+ /* This is likely to occur if the stack checker is not actually enabled */
+ if ( stack->area == NULL ) {
+ return false;
+ }
+
low = Stack_check_Usable_stack_start(stack);
size = Stack_check_Usable_stack_size(stack);