xfs: free bp in xlog_find_zeroed() error path
authorEric Sandeen <sandeen@redhat.com>
Thu, 1 Aug 2013 01:32:30 +0000 (20:32 -0500)
committerBen Myers <bpm@sgi.com>
Tue, 13 Aug 2013 20:48:51 +0000 (15:48 -0500)
xlog_find_zeroed() currently leaks a bp on one error path.

Using the bp_err: target resolves this.

Found by Coverity.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
fs/xfs/xfs_log_recover.c

index 217e7fba734b9c0cfc01a9272c198aad582d3605..46710d94c6499f3c36c62b1abd9b78da229fe550 100644 (file)
@@ -1145,7 +1145,8 @@ xlog_find_zeroed(
                 */
                xfs_warn(log->l_mp,
                        "Log inconsistent or not a log (last==0, first!=1)");
-               return XFS_ERROR(EINVAL);
+               error = XFS_ERROR(EINVAL);
+               goto bp_err;
        }
 
        /* we have a partially zeroed log */