diff options
Diffstat (limited to 'libflash/libffs.c')
-rw-r--r-- | libflash/libffs.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libflash/libffs.c b/libflash/libffs.c index 8134962..65c3fbe 100644 --- a/libflash/libffs.c +++ b/libflash/libffs.c @@ -78,7 +78,7 @@ int ffs_init(uint32_t offset, uint32_t max_size, struct blocklevel_device *bl, struct ffs_hdr hdr; struct ffs_hdr blank_hdr; struct ffs_handle *f; - uint32_t total_size; + uint64_t total_size; int rc, i; if (!ffs || !bl) @@ -90,6 +90,8 @@ int ffs_init(uint32_t offset, uint32_t max_size, struct blocklevel_device *bl, FL_ERR("FFS: Error %d retrieving flash info\n", rc); return rc; } + if (total_size > UINT_MAX) + return FLASH_ERR_VERIFY_FAILURE; if ((offset + max_size) < offset) return FLASH_ERR_PARM_ERROR; |