On Mon, 29 Nov 2010, Namhyung Kim wrote: > io->name should be freed if ext2fs_file_open2() fails. > > Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx> > --- > lib/ext2fs/inode_io.c | 4 +++- > 1 files changed, 3 insertions(+), 1 deletions(-) > > diff --git a/lib/ext2fs/inode_io.c b/lib/ext2fs/inode_io.c > index 4faaa48..bc934d3 100644 > --- a/lib/ext2fs/inode_io.c > +++ b/lib/ext2fs/inode_io.c > @@ -157,11 +157,13 @@ static errcode_t inode_open(const char *name, int flags, io_channel *channel) > &data->inode : 0, open_flags, > &data->file); > if (retval) > - goto cleanup; > + goto cleanup_name; > > *channel = io; > return 0; > > +cleanup_name: > + ext2fs_free_mem(&io->name); > cleanup: > if (data) { > ext2fs_free_mem(&data); > Hmm, are those check-on-free everywhere really necessary ? Would not make more sense to check it in ext2fs_free_mem and then when we hit things like this patch is trying to fix, just remove the conditions ? I am not suggesting anything like "go through all e2fsprogs and change the conditions on free", but really change it when we poke the code anyway. -Lukas -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html