Module Name:    src
Committed By:   dholland
Date:           Thu Jul 10 06:27:15 UTC 2014

Modified Files:
        src/sys/ufs/ffs: ffs_wapbl.c

Log Message:
Fix unchecked UFS_WAPBL_BEGIN. Coverity 975226.
Unfortunately it looks like all we can do on error here is printf.


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/sys/ufs/ffs/ffs_wapbl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/ufs/ffs/ffs_wapbl.c
diff -u src/sys/ufs/ffs/ffs_wapbl.c:1.25 src/sys/ufs/ffs/ffs_wapbl.c:1.26
--- src/sys/ufs/ffs/ffs_wapbl.c:1.25	Fri Oct 25 11:35:55 2013
+++ src/sys/ufs/ffs/ffs_wapbl.c	Thu Jul 10 06:27:15 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: ffs_wapbl.c,v 1.25 2013/10/25 11:35:55 martin Exp $	*/
+/*	$NetBSD: ffs_wapbl.c,v 1.26 2014/07/10 06:27:15 dholland Exp $	*/
 
 /*-
  * Copyright (c) 2003,2006,2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ffs_wapbl.c,v 1.25 2013/10/25 11:35:55 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ffs_wapbl.c,v 1.26 2014/07/10 06:27:15 dholland Exp $");
 
 #define WAPBL_INTERNAL
 
@@ -147,9 +147,16 @@ ffs_wapbl_replay_finish(struct mount *mp
 		 * initialized in ufs_makeinode.  If so, just dallocate them.
 		 */
 		if (ip->i_mode == 0) {
-			UFS_WAPBL_BEGIN(mp);
-			ffs_vfree(vp, ip->i_number, wr->wr_inodes[i].wr_imode);
-			UFS_WAPBL_END(mp);
+			error = UFS_WAPBL_BEGIN(mp);
+			if (error) {
+				printf("ffs_wapbl_replay_finish: "
+				    "unable to cleanup inode %" PRIu32 "\n",
+				    wr->wr_inodes[i].wr_inumber);
+			} else {
+				ffs_vfree(vp, ip->i_number,
+				    wr->wr_inodes[i].wr_imode);
+				UFS_WAPBL_END(mp);
+			}
 		}
 		vput(vp);
 	}

Reply via email to