[PATCH 12/17] cbfs: Check offset range when reading a file
Simon Glass
sjg at chromium.org
Sun May 9 00:00:16 CEST 2021
Add a check that the offset is within the allowed range.
Signed-off-by: Simon Glass <sjg at chromium.org>
Reported-by: Coverity (CID: 331155)
---
fs/cbfs/cbfs.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/cbfs/cbfs.c b/fs/cbfs/cbfs.c
index 415ea28b871..3e905c74e58 100644
--- a/fs/cbfs/cbfs.c
+++ b/fs/cbfs/cbfs.c
@@ -167,6 +167,8 @@ static int file_cbfs_next_file(struct cbfs_priv *priv, void *start, int size,
}
swap_file_header(&header, file_header);
+ if (header.offset >= size)
+ return log_msg_ret("range", -E2BIG);
ret = fill_node(node, start, &header);
if (ret) {
priv->result = CBFS_BAD_FILE;
--
2.31.1.607.g51e8a6a459-goog
More information about the U-Boot
mailing list