[rtems commit] rtems-debugger-target.c: Fix Dereference before null check (CID #1468682)
Joel Sherrill
joel at rtems.org
Fri Feb 12 23:13:43 UTC 2021
Module: rtems
Branch: master
Commit: 3f4cdd858923fc999ac7d815149af4c62b8e9c6e
Changeset: http://git.rtems.org/rtems/commit/?id=3f4cdd858923fc999ac7d815149af4c62b8e9c6e
Author: Ryan Long <ryan.long at oarcorp.com>
Date: Fri Feb 12 13:43:43 2021 -0500
rtems-debugger-target.c: Fix Dereference before null check (CID #1468682)
CID 1468682: swbreaks is assigned a value dereferenced from target before
it has been verified that target is not null.
Closes #4240.
---
cpukit/libdebugger/rtems-debugger-target.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/cpukit/libdebugger/rtems-debugger-target.c b/cpukit/libdebugger/rtems-debugger-target.c
index e495170..bf75797 100644
--- a/cpukit/libdebugger/rtems-debugger-target.c
+++ b/cpukit/libdebugger/rtems-debugger-target.c
@@ -171,17 +171,19 @@ int
rtems_debugger_target_swbreak_control(bool insert, DB_UINT addr, DB_UINT kind)
{
rtems_debugger_target* target = rtems_debugger->target;
- rtems_debugger_target_swbreak* swbreaks = target->swbreaks.block;
+ rtems_debugger_target_swbreak* swbreaks;
size_t swbreak_size;
uint8_t* loc = (void*) addr;
size_t i;
int r;
- if (target == NULL || swbreaks == NULL || kind != target->breakpoint_size) {
+ if (target == NULL || target->swbreaks.block == NULL ||
+ kind != target->breakpoint_size) {
errno = EIO;
return -1;
}
+ swbreaks = target->swbreaks.block;
swbreak_size =
sizeof(rtems_debugger_target_swbreak) + target->breakpoint_size;
More information about the vc
mailing list