@ -974,7 +974,6 @@ int ext4fs_write(const char *fname, unsigned char *buffer,
sizeof ( struct ext2_inode ) ) ;
if ( ext4fs_put_metadata ( temp_ptr , parent_itable_blkno ) )
goto fail ;
free ( temp_ptr ) ;
} else {
/*
* If parent and child fall in same inode table block
@ -985,7 +984,6 @@ int ext4fs_write(const char *fname, unsigned char *buffer,
gd_index - - ;
if ( ext4fs_put_metadata ( temp_ptr , itable_blkno ) )
goto fail ;
free ( temp_ptr ) ;
}
ext4fs_update ( ) ;
ext4fs_deinit ( ) ;
@ -996,6 +994,7 @@ int ext4fs_write(const char *fname, unsigned char *buffer,
fs - > curr_inode_no = 0 ;
free ( inode_buffer ) ;
free ( g_parent_inode ) ;
free ( temp_ptr ) ;
g_parent_inode = NULL ;
return 0 ;
@ -1003,6 +1002,7 @@ fail:
ext4fs_deinit ( ) ;
free ( inode_buffer ) ;
free ( g_parent_inode ) ;
free ( temp_ptr ) ;
g_parent_inode = NULL ;
return - 1 ;