From: Gao Xiang Date: Tue, 28 May 2024 06:43:13 +0000 (+0800) Subject: erofs-utils: fix false-positive errors on gcc 4.8.5 X-Git-Tag: v1.8~65 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=39c08271cb18148934bf081b6e1fe8e5ae6ed48e;p=platform%2Fupstream%2Ferofs-utils.git erofs-utils: fix false-positive errors on gcc 4.8.5 Just old compiler bugs. Signed-off-by: Gao Xiang Link: https://lore.kernel.org/r/20240528064313.1352565-1-hsiangkao@linux.alibaba.com --- diff --git a/lib/data.c b/lib/data.c index a87053f..c139e0c 100644 --- a/lib/data.c +++ b/lib/data.c @@ -420,7 +420,7 @@ static void *erofs_read_metadata_bdi(struct erofs_sb_info *sbi, ret = blk_read(sbi, 0, data, erofs_blknr(sbi, *offset), 1); if (ret) return ERR_PTR(ret); - len = le16_to_cpu(*(__le16 *)&data[erofs_blkoff(sbi, *offset)]); + len = le16_to_cpu(*(__le16 *)(data + erofs_blkoff(sbi, *offset))); if (!len) return ERR_PTR(-EFSCORRUPTED); diff --git a/lib/dedupe.c b/lib/dedupe.c index ed20e7b..665915a 100644 --- a/lib/dedupe.c +++ b/lib/dedupe.c @@ -100,7 +100,7 @@ int z_erofs_dedupe_match(struct z_erofs_dedupe_ctx *ctx) struct z_erofs_dedupe_item *e; unsigned int extra = 0; - u64 xxh64_csum; + u64 xxh64_csum = 0; u8 sha256[32]; if (initial) { diff --git a/lib/fragments.c b/lib/fragments.c index d4f6be1..f4c9bd7 100644 --- a/lib/fragments.c +++ b/lib/fragments.c @@ -289,6 +289,8 @@ int z_erofs_pack_file_from_fd(struct erofs_inode *inode, int fd, if (memblock) rc = z_erofs_fragments_dedupe_insert(memblock, inode->fragment_size, inode->fragmentoff, tofcrc); + else + rc = 0; out: if (memblock) munmap(memblock, inode->i_size);