diff mbox

ext2fs: fix error handling in ext2fs_add_dir_block

Message ID 1307691187-12854-1-git-send-email-adilger@whamcloud.com
State Accepted, archived
Headers show

Commit Message

Andreas Dilger June 10, 2011, 7:33 a.m. UTC
In ext2fs_add_dir_block() the dblist allocation size was changed to
grow as the number of items in the dblist increases.  However, the
error handling in case of allocation failure wasn't changed to match.

Fix the error case to revert to the old allocation size on failure.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
---
 lib/ext2fs/dblist.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Theodore Ts'o June 11, 2011, 3:55 p.m. UTC | #1
On Fri, Jun 10, 2011 at 01:33:07AM -0600, Andreas Dilger wrote:
> In ext2fs_add_dir_block() the dblist allocation size was changed to
> grow as the number of items in the dblist increases.  However, the
> error handling in case of allocation failure wasn't changed to match.
> 
> Fix the error case to revert to the old allocation size on failure.
> 
> Signed-off-by: Andreas Dilger <adilger@whamcloud.com>

Added to the maint branch, thanks!

						- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/lib/ext2fs/dblist.c b/lib/ext2fs/dblist.c
index 8ee61b4..c0a3dfe 100644
--- a/lib/ext2fs/dblist.c
+++ b/lib/ext2fs/dblist.c
@@ -172,7 +172,7 @@  errcode_t ext2fs_add_dir_block2(ext2_dblist dblist, ext2_ino_t ino,
 					   sizeof(struct ext2_db_entry2),
 					   &dblist->list);
 		if (retval) {
-			dblist->size -= 100;
+			dblist->size = old_size / sizeof(struct ext2_db_entry2);
 			return retval;
 		}
 	}