[RTEMS Project] #4252: grtc.c: Dereference before null check error spotted by Coverity

RTEMS trac trac at rtems.org
Tue Feb 16 20:50:40 UTC 2021


#4252: grtc.c: Dereference before null check error spotted by Coverity
------------------------+--------------------
  Reporter:  Ryan Long  |      Owner:  (none)
      Type:  defect     |     Status:  new
  Priority:  normal     |  Milestone:  6.1
 Component:  bsps       |    Version:  6
  Severity:  normal     |   Keywords:
Blocked By:             |   Blocking:
------------------------+--------------------
 CID 1399840: Dereference before null check in grtc_ioctl().

 {{{
 1534        rtems_libio_ioctl_args_t *ioarg = (rtems_libio_ioctl_args_t
 *)arg;
     deref_ptr: Directly dereferencing pointer ioarg.
 1535        unsigned int *data = ioarg->buffer;
 1536        int status,frm_len,i,ret;
 1537        struct grtc_ioc_buf_params *buf_arg;
 1538        struct grtc_ioc_config *cfg;
 1539        struct grtc_ioc_hw_status *hwregs;
 1540        struct grtc_ioc_pools_setup *pocfg;
 1541        struct grtc_ioc_assign_frm_pool *poassign;
 1542        struct grtc_frame *frm, *frms;
 1543        struct grtc_frame_pool *pool;
 1544        struct grtc_list *frmlist;
 1545        struct grtc_ioc_stats *stats;
 1546        unsigned int mem;
 1547        IRQ_LOCAL_DECLARE(oldLevel);
 1548
 1549        FUNCDBG();
 1550
 1551        if ( drvmgr_get_dev(&grtc_drv_info.general, minor, &dev) ) {
 1552                return RTEMS_INVALID_NUMBER;
 1553        }
 1554        pDev = (struct grtc_priv *)dev->priv;
 1555
     CID 1399840 (#1 of 1): Dereference before null check
 (REVERSE_INULL)check_after_deref: Null-checking ioarg suggests that it may
 be null, but it has already been dereferenced on all paths leading to the
 check.
 1556        if (!ioarg)
 }}}

--
Ticket URL: <http://devel.rtems.org/ticket/4252>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list