On Thu, Feb 11, 2021 at 1:28 PM Ryan Long <thisisryanl...@gmail.com> wrote: > > 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. > --- > cpukit/libdebugger/rtems-debugger-target.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/cpukit/libdebugger/rtems-debugger-target.c > b/cpukit/libdebugger/rtems-debugger-target.c > index e495170..3726a6c 100644 > --- a/cpukit/libdebugger/rtems-debugger-target.c > +++ b/cpukit/libdebugger/rtems-debugger-target.c > @@ -171,17 +171,18 @@ 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;
declare var here > 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; use var here > 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 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel