Fix memory leaks in grub_btrfs_extent_read() and grub_btrfs_dir().
Fixes: CID 473842
Fixes: CID 473871
Signed-off-by: Lidong Chen <lidong.chen@oracle.com>
Reviewed-by: Vladimir Serbinenko <phcoder@gmail.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
err = lower_bound (data, &key_in, &key_out, tree,
&elemaddr, &elemsize, &desc, 0);
if (err)
- return -1;
+ {
+ grub_free (desc.data);
+ return -1;
+ }
if (key_out.object_id != ino
|| key_out.type != GRUB_BTRFS_ITEM_TYPE_EXTENT_ITEM)
{
if (err)
{
grub_btrfs_unmount (data);
+ grub_free (desc.data);
return err;
}
if (key_out.type != GRUB_BTRFS_ITEM_TYPE_DIR_ITEM