Btrfs: uninitialized data is check_path_shared()
authorDan Carpenter <error27@gmail.com>
Tue, 1 Jun 2010 08:23:11 +0000 (08:23 +0000)
committerChris Mason <chris.mason@oracle.com>
Fri, 11 Jun 2010 15:46:12 +0000 (11:46 -0400)
refs can be used with uninitialized data if btrfs_lookup_extent_info()
fails on the first pass through the loop.  In the original code if that
happens then check_path_shared() probably returns 1, this patch
changes it to return 1 for safety.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/inode.c

index d999c53..f08427c 100644 (file)
@@ -2673,7 +2673,7 @@ static int check_path_shared(struct btrfs_root *root,
        struct extent_buffer *eb;
        int level;
        int ret;
-       u64 refs;
+       u64 refs = 1;
 
        for (level = 0; level < BTRFS_MAX_LEVEL; level++) {
                if (!path->nodes[level])