[PATCH v2 3/3] rtems-debugger-target.c: Fix Coverity Dereference before null check
Ryan Long
thisisryanlong at gmail.com
Fri Feb 12 15:11:26 UTC 2021
Fixes CID #1468682 where target is dereferenced before it has been
checked as to whether it is null or not in the
rtems_debugger_target_swbreak_control function.
Fix file rtems-debugger-target.c
---
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;
--
1.8.3.1
More information about the devel
mailing list