xfs: null out bma->prev if no previous extent
authorDarrick J. Wong <darrick.wong@oracle.com>
Wed, 6 Nov 2019 16:53:54 +0000 (08:53 -0800)
committerDarrick J. Wong <darrick.wong@oracle.com>
Thu, 7 Nov 2019 21:00:54 +0000 (13:00 -0800)
Coverity complains that we don't check the return value of
xfs_iext_peek_prev_extent like we do nearly all of the time.  If there
is no previous extent then just null out bma->prev like we do elsewhere
in the bmap code.

Coverity-id: 1424057
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
fs/xfs/libxfs/xfs_bmap.c

index 64f623d07f82c93e938de7153be527ae3222369b..7392ca92ab344458b21aa0904ac0c41693684d0f 100644 (file)
@@ -4014,7 +4014,8 @@ xfs_bmapi_allocate(
        if (bma->wasdel) {
                bma->length = (xfs_extlen_t)bma->got.br_blockcount;
                bma->offset = bma->got.br_startoff;
-               xfs_iext_peek_prev_extent(ifp, &bma->icur, &bma->prev);
+               if (!xfs_iext_peek_prev_extent(ifp, &bma->icur, &bma->prev))
+                       bma->prev.br_startoff = NULLFILEOFF;
        } else {
                bma->length = XFS_FILBLKS_MIN(bma->length, MAXEXTLEN);
                if (!bma->eof)