[PATCH 4/4] erofs-utils: lib: fix two integer handling issues

Gao Xiang hsiangkao at linux.alibaba.com
Sun Apr 6 04:57:07 AEST 2025


Coverity-id: 548918
Coverity-id: 548919
Signed-off-by: Gao Xiang <hsiangkao at linux.alibaba.com>
---
 lib/compress.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/compress.c b/lib/compress.c
index a7d5e53..9f71022 100644
--- a/lib/compress.c
+++ b/lib/compress.c
@@ -1169,7 +1169,7 @@ int erofs_commit_compressed_file(struct z_erofs_compress_ictx *ictx,
 
 	/* fall back to no compression mode */
 	DBG_BUGON(pstart < (!!inode->idata_size) << bbits);
-	ptotal -= (!!inode->idata_size) << bbits;
+	ptotal -= (u64)(!!inode->idata_size) << bbits;
 
 	compressmeta = z_erofs_write_indexes(ictx);
 	if (!compressmeta) {
@@ -1687,7 +1687,7 @@ int erofs_write_compressed_file(struct z_erofs_compress_ictx *ictx)
 		ret = PTR_ERR(bh);
 		goto err_free_idata;
 	}
-	pstart = erofs_mapbh(NULL, bh->block) << sbi->blkszbits;
+	pstart = erofs_pos(sbi, erofs_mapbh(NULL, bh->block));
 
 	ictx->seg_num = 1;
 	sctx = (struct z_erofs_compress_sctx) {
-- 
2.43.5



More information about the Linux-erofs mailing list