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 472b3039eabbf1114d1b71d69d785c3cd8f4b358..902e5f7e664231954a1bd743fd04e59767f5731c 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;