diff options
| author | Christian Gmeiner <[email protected]> | 2018-12-22 01:55:48 -0800 |
|---|---|---|
| committer | Bin Meng <[email protected]> | 2018-12-31 09:42:41 +0800 |
| commit | 9914c73261b198bf26df70cce8aa098f204cd763 (patch) | |
| tree | b6c6bd0da07bfe59d4e474a7d1988c65ceec2af9 /fs/cbfs | |
| parent | 2fc7024d7ba370fe1fa416bfd67f1d44afb09aeb (diff) | |
fs: cbfs: remove wrong header validation
cbfs_fileheader.len indicates the content size of the file in the
cbfs, and it has nothing to do with cbfs_fileheader.offset which
is the starting address of the file in the cbfs.
Remove such check in file_cbfs_next_file(). Before this change
'cbfsinit' failed with 'Bad CBFS file'. After this change all cbfs
commands are working as expected.
Signed-off-by: Christian Gmeiner <[email protected]>
[bmeng: keep the necessary header sanity check]
Signed-off-by: Bin Meng <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
Diffstat (limited to 'fs/cbfs')
| -rw-r--r-- | fs/cbfs/cbfs.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/cbfs/cbfs.c b/fs/cbfs/cbfs.c index 0dce639b49c..e9433252972 100644 --- a/fs/cbfs/cbfs.c +++ b/fs/cbfs/cbfs.c @@ -96,8 +96,7 @@ static int file_cbfs_next_file(u8 *start, u32 size, u32 align, } swap_file_header(&header, fileHeader); - if (header.offset < sizeof(struct cbfs_fileheader) || - header.offset > header.len) { + if (header.offset < sizeof(struct cbfs_fileheader)) { file_cbfs_result = CBFS_BAD_FILE; return -1; } |
