[PATCH 4/4] rtems-debugger-target.c: Fix Coverity Dereference before null check

Joel Sherrill joel at rtems.org
Thu Feb 11 21:03:38 UTC 2021


On Thu, Feb 11, 2021, 3:00 PM Chris Johns <chrisj at rtems.org> wrote:

> On 12/2/21 7:27 am, Ryan Long 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;
> >    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;
> >    }
> >
> > +  rtems_debugger_target_swbreak* swbreaks = target->swbreaks.block;
>
> The debug server does not declare local vars in the body of functions. I
> would
> prefer the this code base stays that way if that is OK?
>

Then how do you want to address the issue identified by Coverity

>
> Chris
>
> >    swbreak_size =
> >      sizeof(rtems_debugger_target_swbreak) + target->breakpoint_size;
> >
> >
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20210211/58c7e04a/attachment.html>


More information about the devel mailing list