From: Brian Behlendorf Date: Sun, 18 Mar 2007 15:16:33 +0000 (-0400) Subject: [COVERITY] Fix missing return code check for ext2fs_write_inode X-Git-Tag: E2FSPROGS-1_40~115 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d2b2a488f996871e6e40789a7890afc2f59730db;p=thirdparty%2Fe2fsprogs.git [COVERITY] Fix missing return code check for ext2fs_write_inode Found 2 of the three places where a return code for ext2fs_write_inode() was not being checked. The second fix in e2fsck/emptydir.c is basically just to shut coverity up even though it really is unnecessary. Coverity ID: 1: Checked Return Signed-off-by: Brian Behlendorf Signed-off-by: "Theodore Ts'o" --- diff --git a/e2fsck/emptydir.c b/e2fsck/emptydir.c index d29f08f98..5dbf0214f 100644 --- a/e2fsck/emptydir.c +++ b/e2fsck/emptydir.c @@ -170,7 +170,9 @@ static int fix_directory(ext2_filsys fs, edi->inode.i_size -= edi->freed_blocks * fs->blocksize; edi->inode.i_blocks -= edi->freed_blocks * (fs->blocksize / 512); - (void) ext2fs_write_inode(fs, db->ino, &edi->inode); + retval = ext2fs_write_inode(fs, db->ino, &edi->inode); + if (retval) + return 0; } return 0; } diff --git a/resize/ChangeLog b/resize/ChangeLog index e12c00d06..866eb5565 100644 --- a/resize/ChangeLog +++ b/resize/ChangeLog @@ -1,3 +1,8 @@ +2007-03-18 Theodore Tso + + * resize2fs.c (check_and_change_inodes): Check to make sure the + inode write was sucessful. + 2006-12-22 Theodore Tso * main.c (main): Use the new {add,remove}_error_table comerr diff --git a/resize/resize2fs.c b/resize/resize2fs.c index e1057eca1..4b1ca2250 100644 --- a/resize/resize2fs.c +++ b/resize/resize2fs.c @@ -1306,7 +1306,9 @@ static int check_and_change_inodes(ext2_ino_t dir, retval = ext2fs_read_inode(is->rfs->old_fs, dir, &inode); if (retval == 0) { inode.i_mtime = inode.i_ctime = time(0); - ext2fs_write_inode(is->rfs->old_fs, dir, &inode); + is->err = ext2fs_write_inode(is->rfs->old_fs, dir, &inode); + if (is->err) + return DIRENT_ABORT; } return DIRENT_CHANGED;