On 2025/7/15 00:55, Yifan Zhao wrote:
Currently, `z_erofs_compress_exit` does not free `zmgr` if compression
is disabled, causing a memory leak. Fix it.

Fixes: a110eea6d80a ("erofs-utils: mkfs: avoid erroring out if `zmgr` is 
uninitialized")
Signed-off-by: Yifan Zhao <stop...@gmail.com>
---
change since v1:
- free `zmgr` in `z_erofs_compress_exit` rather than allocating it in 
`z_erofs_compress_init` conditionally.

  lib/compress.c | 7 +++----
  1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/lib/compress.c b/lib/compress.c
index a57bb6a..3c87a28 100644
--- a/lib/compress.c
+++ b/lib/compress.c
@@ -2130,16 +2130,15 @@ int z_erofs_compress_exit(struct erofs_sb_info *sbi)
  {
        int i, ret;
- /* If `zmgr` is uninitialized, return directly. */
-       if (!sbi->zmgr)
-               return 0;

`sbi->zmgr` still can be NULL if z_erofs_compress_init() is not called,
or `sbi->zmgr = calloc(1, sizeof(*sbi->zmgr));` fails.

Thanks,
Gao Xiang

Reply via email to