btrfs: fix uninitialized ret in ref-verify
diff mbox series

Message ID 20191002140336.2338-1-josef@toxicpanda.com
State New
Headers show
Series
  • btrfs: fix uninitialized ret in ref-verify
Related show

Commit Message

Josef Bacik Oct. 2, 2019, 2:03 p.m. UTC
Coverity caught a case where we could return with a uninitialized value
in ret in process_leaf.  This is actually pretty likely because we could
very easily run into a block group item key and have a garbage value in
ret and think there was an errror.  Fix this by initializing ret to 0.

Reported-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
---
 fs/btrfs/ref-verify.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

David Sterba Oct. 2, 2019, 4:21 p.m. UTC | #1
On Wed, Oct 02, 2019 at 10:03:36AM -0400, Josef Bacik wrote:
> Coverity caught a case where we could return with a uninitialized value
> in ret in process_leaf.  This is actually pretty likely because we could
> very easily run into a block group item key and have a garbage value in
> ret and think there was an errror.  Fix this by initializing ret to 0.
> 
> Reported-by: Colin Ian King <colin.king@canonical.com>
> Signed-off-by: Josef Bacik <josef@toxicpanda.com>

Reviewed-by: David Sterba <dsterba@suse.com>

Added to misc-next, thanks.
Colin King Oct. 2, 2019, 4:31 p.m. UTC | #2
On 02/10/2019 15:03, Josef Bacik wrote:
> Coverity caught a case where we could return with a uninitialized value
> in ret in process_leaf.  This is actually pretty likely because we could
> very easily run into a block group item key and have a garbage value in
> ret and think there was an errror.  Fix this by initializing ret to 0.
> 
> Reported-by: Colin Ian King <colin.king@canonical.com>
> Signed-off-by: Josef Bacik <josef@toxicpanda.com>
> ---
>  fs/btrfs/ref-verify.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/btrfs/ref-verify.c b/fs/btrfs/ref-verify.c
> index e87cbdad02a3..b57f3618e58e 100644
> --- a/fs/btrfs/ref-verify.c
> +++ b/fs/btrfs/ref-verify.c
> @@ -500,7 +500,7 @@ static int process_leaf(struct btrfs_root *root,
>  	struct btrfs_extent_data_ref *dref;
>  	struct btrfs_shared_data_ref *sref;
>  	u32 count;
> -	int i = 0, tree_block_level = 0, ret;
> +	int i = 0, tree_block_level = 0, ret = 0;
>  	struct btrfs_key key;
>  	int nritems = btrfs_header_nritems(leaf);
>  
> 
Thanks Josef.

Patch
diff mbox series

diff --git a/fs/btrfs/ref-verify.c b/fs/btrfs/ref-verify.c
index e87cbdad02a3..b57f3618e58e 100644
--- a/fs/btrfs/ref-verify.c
+++ b/fs/btrfs/ref-verify.c
@@ -500,7 +500,7 @@  static int process_leaf(struct btrfs_root *root,
 	struct btrfs_extent_data_ref *dref;
 	struct btrfs_shared_data_ref *sref;
 	u32 count;
-	int i = 0, tree_block_level = 0, ret;
+	int i = 0, tree_block_level = 0, ret = 0;
 	struct btrfs_key key;
 	int nritems = btrfs_header_nritems(leaf);