Coverity-id: 554931 Coverity-id: 555116 Signed-off-by: Gao Xiang <hsiang...@linux.alibaba.com> --- lib/super.c | 5 +++++ lib/vmdk.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/lib/super.c b/lib/super.c index beab74e..a300a5f 100644 --- a/lib/super.c +++ b/lib/super.c @@ -327,6 +327,11 @@ int erofs_write_device_table(struct erofs_sb_info *sbi) return -EINVAL; pos = erofs_btell(bh, false); + if (pos == NULL_ADDR_UL) { + DBG_BUGON(1); + return -EINVAL; + } + i = 0; do { struct erofs_deviceslot dis = { diff --git a/lib/vmdk.c b/lib/vmdk.c index 06d4a49..8080c51 100644 --- a/lib/vmdk.c +++ b/lib/vmdk.c @@ -60,7 +60,7 @@ int erofs_dump_vmdk_desc(FILE *f, struct erofs_sb_info *sbi) const char *name = sbi->devs[i].src_path ?: (const char *)sbi->devs[i].tag; - sectors = sbi->devs[i].blocks << (sbi->blkszbits - 9); + sectors = (u64)sbi->devs[i].blocks << (sbi->blkszbits - 9); ret = erofs_vmdk_desc_add_extent(f, sectors, name, 0); if (ret) return ret; -- 2.43.5