Browse Source

UBIFS: add a couple of extra asserts

... to catch possible memory corruptions.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Artem Bityutskiy 10 năm trước cách đây
mục cha
commit
fb4325a3d9
1 tập tin đã thay đổi với 4 bổ sung0 xóa
  1. 4 0
      fs/ubifs/debug.c

+ 4 - 0
fs/ubifs/debug.c

@@ -2032,6 +2032,8 @@ static int check_leaf(struct ubifs_info *c, struct ubifs_zbranch *zbr,
 		long long blk_offs;
 		long long blk_offs;
 		struct ubifs_data_node *dn = node;
 		struct ubifs_data_node *dn = node;
 
 
+		ubifs_assert(zbr->len >= UBIFS_DATA_NODE_SZ);
+
 		/*
 		/*
 		 * Search the inode node this data node belongs to and insert
 		 * Search the inode node this data node belongs to and insert
 		 * it to the RB-tree of inodes.
 		 * it to the RB-tree of inodes.
@@ -2060,6 +2062,8 @@ static int check_leaf(struct ubifs_info *c, struct ubifs_zbranch *zbr,
 		struct ubifs_dent_node *dent = node;
 		struct ubifs_dent_node *dent = node;
 		struct fsck_inode *fscki1;
 		struct fsck_inode *fscki1;
 
 
+		ubifs_assert(zbr->len >= UBIFS_DENT_NODE_SZ);
+
 		err = ubifs_validate_entry(c, dent);
 		err = ubifs_validate_entry(c, dent);
 		if (err)
 		if (err)
 			goto out_dump;
 			goto out_dump;