Just old compiler bugs.

Signed-off-by: Gao Xiang <hsiang...@linux.alibaba.com>
---
 lib/data.c      | 2 +-
 lib/dedupe.c    | 2 +-
 lib/fragments.c | 2 ++
 3 files changed, 4 insertions(+), 2 deletions(-)

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 aaaccb5..e475635 100644
--- a/lib/dedupe.c
+++ b/lib/dedupe.c
@@ -99,7 +99,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;
 
                if (initial) {
                        /* initial try */
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);
-- 
2.39.3

Reply via email to