[U-Boot] [PATCH v2] cbfs: Fix incorrect CBFS file header size being used

Bin Meng bmeng.cn at gmail.com
Tue Aug 9 05:32:15 CEST 2016


From: Yaroslav K <yar444 at gmail.com>

This fixes incorrect filenames in cbfsls output.

Signed-off-by: Yaroslav K. <yar444 at gmail.com>
Reviewed-by: Simon Glass <sjg at chromium.org>
[clean up checkpatch errors and warnings]
Signed-off-by: Bin Meng <bmeng.cn at gmail.com>

---

Changes in v2:
- Clean up checkpatch errors and warnings

 fs/cbfs/cbfs.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/fs/cbfs/cbfs.c b/fs/cbfs/cbfs.c
index 95a48a4..6e1107d 100644
--- a/fs/cbfs/cbfs.c
+++ b/fs/cbfs/cbfs.c
@@ -97,8 +97,8 @@ static int file_cbfs_next_file(u8 *start, u32 size, u32 align,
 		}
 
 		swap_file_header(&header, fileHeader);
-		if (header.offset < sizeof(const struct cbfs_cachenode *) ||
-				header.offset > header.len) {
+		if (header.offset < sizeof(struct cbfs_fileheader) ||
+		    header.offset > header.len) {
 			file_cbfs_result = CBFS_BAD_FILE;
 			return -1;
 		}
@@ -106,9 +106,9 @@ static int file_cbfs_next_file(u8 *start, u32 size, u32 align,
 		newNode->type = header.type;
 		newNode->data = start + header.offset;
 		newNode->data_length = header.len;
-		name_len = header.offset - sizeof(struct cbfs_cachenode *);
+		name_len = header.offset - sizeof(struct cbfs_fileheader);
 		newNode->name = (char *)fileHeader +
-				sizeof(struct cbfs_cachenode *);
+				sizeof(struct cbfs_fileheader);
 		newNode->name_length = name_len;
 		newNode->checksum = header.checksum;
 
-- 
2.9.2



More information about the U-Boot mailing list