From 8b9eeb43c4f7d958972b8bf1fd39d19da570224b Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Mon, 19 Aug 2019 03:34:04 +0200 Subject: Fix memory leak in data writer fragment deduplication Signed-off-by: David Oberhollenzer --- lib/sqfs/data_writer.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/sqfs/data_writer.c b/lib/sqfs/data_writer.c index d88c50e..b52e897 100644 --- a/lib/sqfs/data_writer.c +++ b/lib/sqfs/data_writer.c @@ -239,12 +239,11 @@ static int handle_fragment(data_writer_t *data, block_t *blk) fi->fragment_offset = ref->fragment_offset; fi->fragment = ref->fragment; fi->flags |= FILE_FLAG_FRAGMENT_IS_DUPLICATE; - } else { - if (store_fragment(data, blk)) - return -1; + free(blk); + return 0; } - return 0; + return store_fragment(data, blk); } static int add_sentinel_block(data_writer_t *data, file_info_t *fi, -- cgit v1.2.3