public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] staging/wlan-ng: remove strcpy() use in favor of strscpy()
@ 2023-10-12  5:27 Calvince Otieno
  2023-10-12  9:17 ` Bagas Sanjaya
  2023-10-12 10:03 ` Dan Carpenter
  0 siblings, 2 replies; 5+ messages in thread
From: Calvince Otieno @ 2023-10-12  5:27 UTC (permalink / raw)
  To: outreachy, linux-kernel
  Cc: Greg Kroah-Hartman, Dan Carpenter, Archana, Bagas Sanjaya,
	Simon Horman, linux-staging, linux-kernel

strncpy() function is actively dangerous to use since it may not
NUL-terminate the destination string, resulting in potential memory
content exposures, unbounded reads, or crashes. strcpy() performs
no bounds checking on the destination buffer. The safe replacement
is strscpy() which is specific to the Linux kernel.

Signed-off-by: Calvince Otieno <calvncce@gmail.com>
---
 drivers/staging/wlan-ng/prism2fw.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/wlan-ng/prism2fw.c b/drivers/staging/wlan-ng/prism2fw.c
index 5d03b2b9aab4..57a99dd12143 100644
--- a/drivers/staging/wlan-ng/prism2fw.c
+++ b/drivers/staging/wlan-ng/prism2fw.c
@@ -725,7 +725,7 @@ static int plugimage(struct imgchunk *fchunk, unsigned int nfchunks,
 
 		if (j == -1) {	/* plug the filename */
 			memset(dest, 0, s3plug[i].len);
-			strncpy(dest, PRISM2_USB_FWFILE, s3plug[i].len - 1);
+			strscpy(dest, PRISM2_USB_FWFILE, s3plug[i].len - 1);
 		} else {	/* plug a PDR */
 			memcpy(dest, &pda->rec[j]->data, s3plug[i].len);
 		}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-10-12 10:15 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-12  5:27 [PATCH] staging/wlan-ng: remove strcpy() use in favor of strscpy() Calvince Otieno
2023-10-12  9:17 ` Bagas Sanjaya
2023-10-12  9:57   ` Calvince Otieno
2023-10-12 10:03 ` Dan Carpenter
2023-10-12 10:15   ` Dan Carpenter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox