On Wed, Jul 19, 2017 at 04:13:07PM +0300, Dan Carpenter wrote:
> Hello David Sterba,
> 
> This is a semi-automatic email about new static checker warnings.
> 
> The patch c042dd070450: "btrfs: get fs_info from eb in
> btrfs_print_leaf, remove argument" from Jun 29, 2017, leads to the
> following Smatch complaint:
> 
>     fs/btrfs/print-tree.c:181 btrfs_print_leaf()
>     warn: variable dereferenced before check 'l' (see line 166)
> 
> fs/btrfs/print-tree.c
>    165        {
>    166                struct btrfs_fs_info *fs_info = l->fs_info;
>                                                 ^^^^^^^^^^
> New dereference.
> 
>    167                int i;
>    168                u32 type, nr;
>    169                struct btrfs_item *item;
>    170                struct btrfs_root_item *ri;
>    171                struct btrfs_dir_item *di;
>    172                struct btrfs_inode_item *ii;
>    173                struct btrfs_block_group_item *bi;
>    174                struct btrfs_file_extent_item *fi;
>    175                struct btrfs_extent_data_ref *dref;
>    176                struct btrfs_shared_data_ref *sref;
>    177                struct btrfs_dev_extent *dev_extent;
>    178                struct btrfs_key key;
>    179                struct btrfs_key found_key;
>    180        
>    181                if (!l)
>                     ^^
> Checked too late.

Thanks, I've moved the fs_info initialization after this check. In both
patches (btrfs_print_leaf and btrfs_print_tree).
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to