Skip to contentSkip to conversation

drivers/message/fusion/mptscsih.c: inconsequent NULL checking

DISCUSSION Adrian Bunk 1 participant 1 message Mar 19, 2007 SCSI

lore
Share & tools
lore
#0 lore raw

The Coverity checker spotted the following inconsequent NULL checking in drivers/message/fusion/mptscsih.c:

<-- snip -->

...
int
mptscsih_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)) {
...

        if (vdev
            && (vdev->vtarget->tflags & MPT_TARGET_FLAGS_Q_YES)
            && (SCpnt->device->tagged_supported)) { 
                scsictl = scsidir | MPI_SCSIIO_CONTROL_SIMPLEQ;
        } else {
                scsictl = scsidir | MPI_SCSIIO_CONTROL_UNTAGGED; 
        }
 
        /* Use the above information to set up the message frame
         */
        pScsiReq->TargetID = (u8) vdev->vtarget->id;

...

<-- snip -->

vdev is first checked but later dereferenced unconditionally.

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed