xfs: fix return of uninitialized value in variable error
authorColin Ian King <colin.king@canonical.com>
Fri, 9 Apr 2021 17:27:34 +0000 (10:27 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Fri, 9 Apr 2021 17:27:34 +0000 (10:27 -0700)
A previous commit removed a call to xfs_attr3_leaf_read that
assigned an error return code to variable error. We now have
a few early error return paths to label 'out' that return
error if error is set; however error now is uninitialized
so potentially garbage is being returned.  Fix this by setting
error to zero to restore the original behaviour where error
was zero at the label 'restart'.

Addresses-Coverity: ("Uninitialized scalar variable")
Fixes: 07120f1abdff ("xfs: Add xfs_has_attr and subroutines")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
fs/xfs/libxfs/xfs_attr.c

index 472b303..902e5f7 100644 (file)
@@ -928,6 +928,7 @@ restart:
         * Search to see if name already exists, and get back a pointer
         * to where it should go.
         */
+       error = 0;
        retval = xfs_attr_node_hasname(args, &state);
        if (retval != -ENOATTR && retval != -EEXIST)
                goto out;