Re: [PATCH] staging: rtl8192e: Replace strcpy with strscpy in rtl819x_translate_scan

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

 



Le 20/08/2024 à 20:42, Abhishek Tamboli a écrit :
Replace strcpy() with strscpy() in rtl819x_translate_scan()
function to ensure buffer safety.

Signed-off-by: Abhishek Tamboli <abhishektamboli9@xxxxxxxxx>
---
  drivers/staging/rtl8192e/rtllib_wx.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/rtl8192e/rtllib_wx.c b/drivers/staging/rtl8192e/rtllib_wx.c
index fbd4ec824084..970b7fcb3f7e 100644
--- a/drivers/staging/rtl8192e/rtllib_wx.c
+++ b/drivers/staging/rtl8192e/rtllib_wx.c
@@ -61,7 +61,7 @@ static inline char *rtl819x_translate_scan(struct rtllib_device *ieee,
  	iwe.cmd = SIOCGIWNAME;
  	for (i = 0; i < ARRAY_SIZE(rtllib_modes); i++) {
  		if (network->mode & BIT(i)) {
-			strcpy(pname, rtllib_modes[i]);
+			strscpy(pname, rtllib_modes[i], sizeof(pname));

This not correct.

sizeof(pname) is 4 here, but the buffer that is really used is "char proto_name[6];"

6 chars are needed for storing "N-24G" (see rtllib_modes), so 5 chars + ending \0.



When you will send a v2, here are a few others things you could give a look at:
   - is 'pname' really needed or is 'proto_name' enough?
   - what about the "*pname = '\0';" after the loop?
- if a "mode" matches, do we need to iterate the whole rtllib_modes array? (have a look at wireless_mode)

CJ




  			pname += strlen(rtllib_modes[i]);
  		}
  	}
--
2.34.1








[Index of Archives]     [Linux Driver Development]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux