2008-08-15 20:56:44

by Manish Katiyar

[permalink] [raw]
Subject: [PATCH] libext2fs : Fix memory leaks in ext2fs_extent_open()

Memory allocated for the ext2_extent_handle is not getting freed from
all the return paths in case of error. Below patch fixes it.

Signed-off-by: "Manish Katiyar" <[email protected]>

---
lib/ext2fs/extent.c | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/lib/ext2fs/extent.c b/lib/ext2fs/extent.c
index 44d7d9b..42a6cb9 100644
--- a/lib/ext2fs/extent.c
+++ b/lib/ext2fs/extent.c
@@ -222,12 +222,14 @@ extern errcode_t ext2fs_extent_open(ext2_filsys
fs, ext2_ino_t ino,
handle->inode->i_flags |= EXT4_EXTENTS_FL;
}

- if (!(handle->inode->i_flags & EXT4_EXTENTS_FL))
- return EXT2_ET_INODE_NOT_EXTENT;
+ if (!(handle->inode->i_flags & EXT4_EXTENTS_FL)) {
+ retval = EXT2_ET_INODE_NOT_EXTENT;
+ goto errout;
+ }

retval = ext2fs_extent_header_verify(eh, sizeof(handle->inode->i_block));
- if (retval)
- return (retval);
+ if (retval)
+ goto errout;

handle->max_depth = ext2fs_le16_to_cpu(eh->eh_depth);
handle->type = ext2fs_le16_to_cpu(eh->eh_magic);
--
1.5.4.3


2008-08-16 15:03:22

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH] libext2fs : Fix memory leaks in ext2fs_extent_open()

On Sat, Aug 16, 2008 at 02:26:43AM +0530, Manish Katiyar wrote:
> Memory allocated for the ext2_extent_handle is not getting freed from
> all the return paths in case of error. Below patch fixes it.
>
> Signed-off-by: "Manish Katiyar" <[email protected]>

Thanks, applied.

- Ted