xfs: Fix uninitialized variable in xfs_reflink_reserve_cow_range()
authorGeert Uytterhoeven <geert@linux-m68k.org>
Thu, 20 Oct 2016 04:41:48 +0000 (15:41 +1100)
committerDave Chinner <david@fromorbit.com>
Thu, 20 Oct 2016 04:41:48 +0000 (15:41 +1100)
with gcc 4.1.2:

    fs/xfs/xfs_reflink.c: In function xfs_reflink_reserve_cow_range:
    fs/xfs/xfs_reflink.c:327: warning: error may be used uninitialized in this function

Indeed, if "count" is zero, the function will return an uninitialized
error value.

While "count" is unlikely to be zero, this function is called through
the public iomap API. Hence fix this by preinitializing error to zero.

Fixes: 2a06705cd5954030 ("xfs: create delalloc extents in CoW fork")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/xfs/xfs_reflink.c

index 5965e94..d48a7cc 100644 (file)
@@ -324,7 +324,7 @@ xfs_reflink_reserve_cow_range(
        struct xfs_mount        *mp = ip->i_mount;
        xfs_fileoff_t           offset_fsb, end_fsb;
        bool                    skipped = false;
-       int                     error;
+       int                     error = 0;
 
        trace_xfs_reflink_reserve_cow_range(ip, offset, count);