[PATCH 2/7] erofs-utils: lib: silence `INTEGER_OVERFLOW`
Gao Xiang <[email protected]> Tue, 30 Jun 2026 10:52:19 +0800
| Newsgroups | org.ozlabs.lists.linux-erofs |
|---|---|
| Message-ID | <[email protected]> |
Coverity-id: 647269 Signed-off-by: Gao Xiang <[email protected]> --- lib/metabox.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/metabox.c b/lib/metabox.c index 86a708367dc0..5c2eadacaf7f 100644 --- a/lib/metabox.c +++ b/lib/metabox.c @@ -133,6 +133,10 @@ int erofs_metazone_flush(struct erofs_sb_info *sbi) return PTR_ERR(bh); erofs_mapbh(NULL, bh->block); pos_out = erofs_btell(bh, false); + if (__erofs_unlikely(pos_out == EROFS_NULL_ADDR)) { + erofs_bdrop(bh, true); + return -EFAULT; + } meta_blkaddr = pos_out >> sbi->blkszbits; sbi->metazone_startblk = meta_blkaddr; @@ -148,7 +152,7 @@ int erofs_metazone_flush(struct erofs_sb_info *sbi) do { count = min_t(erofs_off_t, length, INT_MAX); - ret = erofs_io_xcopy(sbi->bmgr->vf, pos_out, + ret = erofs_io_xcopy(sbi->bmgr->vf, (off_t)pos_out, &m2gr->vf, count, false); if (ret < 0) break; -- 2.43.5