[SCSI] FlashPoint: fix off by one tests
authorDan Carpenter <error27@gmail.com>
Mon, 28 Dec 2009 18:08:39 +0000 (20:08 +0200)
committerJames Bottomley <James.Bottomley@suse.de>
Mon, 18 Jan 2010 16:48:14 +0000 (10:48 -0600)
The check on MAX_SCSI_TAR should be >= instead of > or we could go past the
end of the array.

Joe Eykholt aslo correctly points out that the check on MAX_LUN should be
>= as well.  That matches with how it is used in the rest of the file.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/FlashPoint.c

index b898d382b7b0768d93ed3250bb0782ba1d38c095..e40cdfb7541f102b8778df8f52007b708ebe42bf 100644 (file)
@@ -3924,7 +3924,7 @@ static void FPT_sinits(struct sccb *p_sccb, unsigned char p_card)
 {
        struct sccb_mgr_tar_info *currTar_Info;
 
-       if ((p_sccb->TargID > MAX_SCSI_TAR) || (p_sccb->Lun > MAX_LUN)) {
+       if ((p_sccb->TargID >= MAX_SCSI_TAR) || (p_sccb->Lun >= MAX_LUN)) {
                return;
        }
        currTar_Info = &FPT_sccbMgrTbl[p_card][p_sccb->TargID];