diff mbox series

[1/1] fs: fat: avoid out of bounds access warning

Message ID 20210125230419.58933-1-xypron.glpk@gmx.de
State Accepted
Commit 41ac28c67272d99836aebb840e5ab94b3ae14023
Delegated to: Tom Rini
Headers show
Series [1/1] fs: fat: avoid out of bounds access warning | expand

Commit Message

Heinrich Schuchardt Jan. 25, 2021, 11:04 p.m. UTC
When copying short name plus extension refer to the encapsulating structure
and not to the short name element.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
 fs/fat/fat_write.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

--
2.29.2

Comments

Tom Rini Jan. 30, 2021, 7:21 p.m. UTC | #1
On Tue, Jan 26, 2021 at 12:04:19AM +0100, Heinrich Schuchardt wrote:

> When copying short name plus extension refer to the encapsulating structure
> and not to the short name element.
> 
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/fs/fat/fat_write.c b/fs/fat/fat_write.c
index 0132ef9b42..aae3a6a3d1 100644
--- a/fs/fat/fat_write.c
+++ b/fs/fat/fat_write.c
@@ -108,10 +108,7 @@  static int set_name(fat_itr *itr, const char *filename, char *shortname)
 	char buf[13];
 	int i;
 	int ret;
-	struct {
-		char name[8];
-		char ext[3];
-	} dirent;
+	struct nameext dirent;

 	if (!filename)
 		return -EIO;
@@ -185,7 +182,7 @@  static int set_name(fat_itr *itr, const char *filename, char *shortname)
 	}
 	return -EIO;
 out:
-	memcpy(shortname, dirent.name, SHORT_NAME_SIZE);
+	memcpy(shortname, &dirent, SHORT_NAME_SIZE);
 	return ret;
 }