Просмотр исходного кода

ext4_extent: fix passing wrong size to memmove.

ngkaho1234 10 лет назад
Родитель
Сommit
3e94292dc3
1 измененных файлов с 2 добавлено и 1 удалено
  1. 2 1
      src/ext4_extent.c

+ 2 - 1
src/ext4_extent.c

@@ -1419,7 +1419,8 @@ static int ext4_ext_remove_leaf(struct ext4_inode_ref *inode_ref,
 		ex2 = ex;
 
 	if (ex2 <= EXT_LAST_EXTENT(eh))
-		memmove(start_ex, ex2, EXT_LAST_EXTENT(eh) - ex2 + 1);
+		memmove(start_ex, ex2,
+			(EXT_LAST_EXTENT(eh) - ex2 + 1) * sizeof(struct ext4_extent));
 
 	eh->entries_count = to_le16(new_entries);
 	ext4_ext_dirty(inode_ref, path + depth);