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

Heinrich Schuchardt xypron.glpk at gmx.de
Tue Jan 26 00:04:19 CET 2021


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 at gmx.de>
---
 fs/fat/fat_write.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

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;
 }

--
2.29.2



More information about the U-Boot mailing list