]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
fs/zfs: Prevent overflows when allocating memory for arrays
authorLidong Chen <lidong.chen@oracle.com>
Wed, 22 Jan 2025 07:17:03 +0000 (07:17 +0000)
committerDaniel Kiper <daniel.kiper@oracle.com>
Thu, 13 Feb 2025 14:45:57 +0000 (15:45 +0100)
Use grub_calloc() when allocating memory for arrays to ensure proper
overflow checks are in place.

Signed-off-by: Lidong Chen <lidong.chen@oracle.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
grub-core/fs/zfs/zfs.c

index c77ab7ad3baf735b42ce465e44254b5a6b313169..474122ed2babf75fbde507bbc5576ea0de1e494e 100644 (file)
@@ -763,8 +763,8 @@ fill_vdev_info_real (struct grub_zfs_data *data,
        {
          fill->n_children = nelm;
 
-         fill->children = grub_zalloc (fill->n_children
-                                       sizeof (fill->children[0]));
+         fill->children = grub_calloc (fill->n_children,
+                                       sizeof (fill->children[0]));
        }
 
       for (i = 0; i < nelm; i++)
@@ -3752,8 +3752,8 @@ zfs_mount (grub_device_t dev)
 #endif
 
   data->n_devices_allocated = 16;
-  data->devices_attached = grub_malloc (sizeof (data->devices_attached[0])
-                                       * data->n_devices_allocated);
+  data->devices_attached = grub_calloc (data->n_devices_allocated,
+                                       sizeof (data->devices_attached[0]));
   data->n_devices_attached = 0;
   err = scan_disk (dev, data, 1, &inserted);
   if (err)