diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-07-25 23:21:10 +0200 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-07-25 23:22:50 +0200 |
commit | 935131744634f9a29e5d53a06a411dbb455cb1ae (patch) | |
tree | bc5d5ecc90c8c86389f5c17d703783b6cb6552f5 /lib/sqfs/deserialize_fstree.c | |
parent | a145b172b45b0afa131f44e00dfd90e88088069b (diff) |
Fix potential resource leak in deserialize_tree
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'lib/sqfs/deserialize_fstree.c')
-rw-r--r-- | lib/sqfs/deserialize_fstree.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/sqfs/deserialize_fstree.c b/lib/sqfs/deserialize_fstree.c index 8ed6314..46e58e0 100644 --- a/lib/sqfs/deserialize_fstree.c +++ b/lib/sqfs/deserialize_fstree.c @@ -62,8 +62,10 @@ static int fill_dir(meta_reader_t *ir, meta_reader_t *dr, tree_node_t *root, return -1; diff = sizeof(*ent) + strlen((char *)ent->name); - if (diff > size) + if (diff > size) { + free(ent); break; + } size -= diff; if (should_skip(ent->type, flags)) { |