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 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel