xfs
[Top] [All Lists]

[PATCH 1/2] libxfs: don't send null bp to xfs_trans_brelse()

To: xfs@xxxxxxxxxxx
Subject: [PATCH 1/2] libxfs: don't send null bp to xfs_trans_brelse()
From: Eric Sandeen <sandeen@xxxxxxxxxx>
Date: Mon, 16 Jun 2014 18:14:20 -0500
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1402960461-27881-1-git-send-email-sandeen@xxxxxxxxxx>
References: <1402960461-27881-1-git-send-email-sandeen@xxxxxxxxxx>
In this case, if bp is null, error is set, and we send
bp to xfs_trans_brelse, which will try to dereference it.

Test whether we actualy have a buffer before we try to
free it.

Same fix as was sent for kernelspace.

Coverity spotted this.

Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
---
 libxfs/xfs_da_btree.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/libxfs/xfs_da_btree.c b/libxfs/xfs_da_btree.c
index b70454e..b731b54 100644
--- a/libxfs/xfs_da_btree.c
+++ b/libxfs/xfs_da_btree.c
@@ -2582,7 +2582,8 @@ xfs_da_get_buf(
                                    mapp, nmap, 0);
        error = bp ? bp->b_error : XFS_ERROR(EIO);
        if (error) {
-               xfs_trans_brelse(trans, bp);
+               if (bp)
+                       xfs_trans_brelse(trans, bp);
                goto out_free;
        }
 
-- 
1.7.1

<Prev in Thread] Current Thread [Next in Thread>