Re: [PATCH] qedi: Fix static checker warning

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/25/18 05:32, Nilesh Javali wrote:
This patch fixes the static checker warning,

drivers/scsi/qedi/qedi_main.c:891 qedi_get_boot_tgt_info()
             error: snprintf() is printing too much 256 vs 255

Which static checker produced this warning?

Signed-off-by: Nilesh Javali <nilesh.javali@xxxxxxxxxx>
---
  drivers/scsi/qedi/qedi_main.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/qedi/qedi_main.c b/drivers/scsi/qedi/qedi_main.c
index cf274a7..85491da 100644
--- a/drivers/scsi/qedi/qedi_main.c
+++ b/drivers/scsi/qedi/qedi_main.c
@@ -888,8 +888,8 @@ static void qedi_get_boot_tgt_info(struct nvm_iscsi_block *block,
  	ipv6_en = !!(block->generic.ctrl_flags &
  		     NVM_ISCSI_CFG_GEN_IPV6_ENABLED);
- snprintf(tgt->iscsi_name, NVM_ISCSI_CFG_ISCSI_NAME_MAX_LEN, "%s\n",
-		 block->target[index].target_name.byte);
+	sprintf(tgt->iscsi_name, "%.*s\n", NVM_ISCSI_CFG_ISCSI_NAME_MAX_LEN,
+		block->target[index].target_name.byte);
tgt->ipv6_en = ipv6_en;

Since sizeof(tgt->iscsi_name) == 255, since NVM_ISCSI_CFG_ISCSI_NAME_MAX_LEN == 256 and since sizeof(block->target[index].target_name.byte) == 256, I think you are making a potential buffer overflow worse instead of just suppressing a static checker warning.

Bart.



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux