0126-fs-btrfs-Squash-some-uninitialized-reads.patch 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. From b911884dd707ba1e6f641eb17857df3155013a45 Mon Sep 17 00:00:00 2001
  2. From: Daniel Axtens <dja@axtens.net>
  3. Date: Mon, 18 Jan 2021 17:27:18 +1100
  4. Subject: [PATCH] fs/btrfs: Squash some uninitialized reads
  5. We need to check errors before calling into a function that uses the result.
  6. Signed-off-by: Daniel Axtens <dja@axtens.net>
  7. Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
  8. Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
  9. ---
  10. grub-core/fs/btrfs.c | 4 ++--
  11. 1 file changed, 2 insertions(+), 2 deletions(-)
  12. diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c
  13. index e4e87ba..d489cb0 100644
  14. --- a/grub-core/fs/btrfs.c
  15. +++ b/grub-core/fs/btrfs.c
  16. @@ -381,9 +381,9 @@ next (struct grub_btrfs_data *data,
  17. err = grub_btrfs_read_logical (data, grub_le_to_cpu64 (node.addr),
  18. &head, sizeof (head), 0);
  19. - check_btrfs_header (data, &head, grub_le_to_cpu64 (node.addr));
  20. if (err)
  21. return -err;
  22. + check_btrfs_header (data, &head, grub_le_to_cpu64 (node.addr));
  23. save_ref (desc, grub_le_to_cpu64 (node.addr), 0,
  24. grub_le_to_cpu32 (head.nitems), !head.level);
  25. @@ -443,9 +443,9 @@ lower_bound (struct grub_btrfs_data *data,
  26. /* FIXME: preread few nodes into buffer. */
  27. err = grub_btrfs_read_logical (data, addr, &head, sizeof (head),
  28. recursion_depth + 1);
  29. - check_btrfs_header (data, &head, addr);
  30. if (err)
  31. return err;
  32. + check_btrfs_header (data, &head, addr);
  33. addr += sizeof (head);
  34. if (head.level)
  35. {
  36. --
  37. 2.14.2