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.
This commit is contained in:
Ryan Long
2021-02-12 13:43:43 -05:00
committed by Joel Sherrill
parent 14f5a0597a
commit 3f4cdd8589

View File

@@ -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;