Need to free w_inode on early exit if w_inode != &temp_inode.
Coverity ID: 22: Resource Leak
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
+2007-03-21 Theodore Tso <tytso@mit.edu>
+
+ * inode.c (ext2fs_write_inode_full): Fix memory leak on error
+ return (when the inode table is missing).
+
2006-11-30 Theodore Tso <tytso@mit.edu>
* ext2_fs.h (struct ext4_group_desc): Fix missing bg_pad which
offset = ((ino - 1) % EXT2_INODES_PER_GROUP(fs->super)) *
EXT2_INODE_SIZE(fs->super);
block = offset >> EXT2_BLOCK_SIZE_BITS(fs->super);
- if (!fs->group_desc[(unsigned) group].bg_inode_table)
- return EXT2_ET_MISSING_INODE_TABLE;
+ if (!fs->group_desc[(unsigned) group].bg_inode_table) {
+ retval = EXT2_ET_MISSING_INODE_TABLE;
+ goto errout;
+ }
block_nr = fs->group_desc[(unsigned) group].bg_inode_table + block;
offset &= (EXT2_BLOCK_SIZE(fs->super) - 1);