0053-fs-zfs-Prevent-overflows-when-allocating-memory-for-.patch 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. From b39a42a7de6639c32829a5f4aff603190c69d689 Mon Sep 17 00:00:00 2001
  2. From: Lidong Chen <lidong.chen@oracle.com>
  3. Date: Wed, 22 Jan 2025 07:17:03 +0000
  4. Subject: [PATCH] fs/zfs: Prevent overflows when allocating memory for arrays
  5. Use grub_calloc() when allocating memory for arrays to ensure proper
  6. overflow checks are in place.
  7. Signed-off-by: Lidong Chen <lidong.chen@oracle.com>
  8. Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
  9. Upstream: 7f38e32c7ebeaebb79e2c71e3c7d5ea367d3a39c
  10. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
  11. ---
  12. grub-core/fs/zfs/zfs.c | 8 ++++----
  13. 1 file changed, 4 insertions(+), 4 deletions(-)
  14. diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c
  15. index 2f303d655..9ab7bf319 100644
  16. --- a/grub-core/fs/zfs/zfs.c
  17. +++ b/grub-core/fs/zfs/zfs.c
  18. @@ -723,8 +723,8 @@ fill_vdev_info_real (struct grub_zfs_data *data,
  19. {
  20. fill->n_children = nelm;
  21. - fill->children = grub_zalloc (fill->n_children
  22. - * sizeof (fill->children[0]));
  23. + fill->children = grub_calloc (fill->n_children,
  24. + sizeof (fill->children[0]));
  25. }
  26. for (i = 0; i < nelm; i++)
  27. @@ -3712,8 +3712,8 @@ zfs_mount (grub_device_t dev)
  28. #endif
  29. data->n_devices_allocated = 16;
  30. - data->devices_attached = grub_malloc (sizeof (data->devices_attached[0])
  31. - * data->n_devices_allocated);
  32. + data->devices_attached = grub_calloc (data->n_devices_allocated,
  33. + sizeof (data->devices_attached[0]));
  34. data->n_devices_attached = 0;
  35. err = scan_disk (dev, data, 1, &inserted);
  36. if (err)
  37. --
  38. 2.50.1