]> git.karo-electronics.de Git - linux-beck.git/commitdiff
[SCSI] qla2xxx: Fix array subscript is above array bounds in qla2xx_build_scsi_type_6...
authorChad Dupuis <chad.dupuis@qlogic.com>
Wed, 23 Feb 2011 23:27:07 +0000 (15:27 -0800)
committerJames Bottomley <James.Bottomley@suse.de>
Fri, 25 Feb 2011 17:24:59 +0000 (12:24 -0500)
The additional increment of dsd_seg was causing the compiler to throw an array
out of bounds warning. This patch moves to a direct assignment of
cmd_pkt->fcp_data_dseg_len so that the compiler doesn't generate an array out
bounds warning.

Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Madhuranath Iyengar <Madhu.Iyengar@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/qla2xxx/qla_nx.c

index fdb96a3584a5ca5981982a44de23704a83fd8a65..b37445d4ea2f6de6e5b1d64ccbae9c1742efa500 100644 (file)
@@ -2547,7 +2547,7 @@ qla2xx_build_scsi_type_6_iocbs(srb_t *sp, struct cmd_type_6 *cmd_pkt,
                        dsd_seg = (uint32_t *)&cmd_pkt->fcp_data_dseg_address;
                        *dsd_seg++ = cpu_to_le32(LSD(dsd_ptr->dsd_list_dma));
                        *dsd_seg++ = cpu_to_le32(MSD(dsd_ptr->dsd_list_dma));
-                       *dsd_seg++ = dsd_list_len;
+                       cmd_pkt->fcp_data_dseg_len = dsd_list_len;
                } else {
                        *cur_dsd++ = cpu_to_le32(LSD(dsd_ptr->dsd_list_dma));
                        *cur_dsd++ = cpu_to_le32(MSD(dsd_ptr->dsd_list_dma));