瀏覽代碼

Btrfs: uninitialized data is check_path_shared()

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>
Dan Carpenter 15 年之前
父節點
當前提交
0e4dcbef1c
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      fs/btrfs/inode.c

+ 1 - 1
fs/btrfs/inode.c

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