xfs: fix uninitialized error variable
authorColin Ian King <colin.king@canonical.com>
Thu, 21 Feb 2019 15:53:20 +0000 (07:53 -0800)
committerDarrick J. Wong <darrick.wong@oracle.com>
Thu, 21 Feb 2019 15:55:07 +0000 (07:55 -0800)
A previous commit removed the initialization of variable 'error' to zero,
and can cause a bogus error return.  This occurs when error contains a
non-zero garbage value and the call to xchk_should_terminate detects a
pending fatal signal and checks for a zero error before setting it
to -EAGAIN. Fix the issue by initializing error to zero.

Fixes: b9454fe056bd ("xfs: clean up the inode cluster checking in the inobt scrub")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/xfs/scrub/ialloc.c

index 2c9dad2b61b1a921754ccb3f746287e4293a9215..700114f79a7d3085fbcea5cbdf90f76b3e74fce6 100644 (file)
@@ -161,7 +161,7 @@ xchk_iallocbt_check_cluster_ifree(
        bool                            irec_free;
        bool                            ino_inuse;
        bool                            freemask_ok;
-       int                             error;
+       int                             error = 0;
 
        if (xchk_should_terminate(bs->sc, &error))
                return error;