disk: Prevent overflows when allocating memory for arrays
Use grub_calloc() when allocating memory for arrays to ensure proper overflow checks are in place. Signed-off-by: Alec Brown <alec.r.brown@oracle.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
parent
c407724dad
commit
d8151f9833
@ -1532,7 +1532,7 @@ grub_cmd_cryptomount (grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
|
||||
if (state[OPTION_PROTECTOR].set) /* key protector(s) */
|
||||
{
|
||||
cargs.key_cache = grub_zalloc (state[OPTION_PROTECTOR].set * sizeof (*cargs.key_cache));
|
||||
cargs.key_cache = grub_calloc (state[OPTION_PROTECTOR].set, sizeof (*cargs.key_cache));
|
||||
if (cargs.key_cache == NULL)
|
||||
return grub_error (GRUB_ERR_OUT_OF_MEMORY,
|
||||
"no memory for key protector key cache");
|
||||
|
||||
@ -671,8 +671,7 @@ grub_lvm_detect (grub_disk_t disk,
|
||||
goto lvs_segment_fail;
|
||||
}
|
||||
|
||||
seg->nodes = grub_zalloc (sizeof (seg->nodes[0])
|
||||
* seg->node_count);
|
||||
seg->nodes = grub_calloc (seg->node_count, sizeof (seg->nodes[0]));
|
||||
|
||||
p = grub_strstr (p, "mirrors = [");
|
||||
if (p == NULL)
|
||||
@ -760,8 +759,7 @@ grub_lvm_detect (grub_disk_t disk,
|
||||
}
|
||||
}
|
||||
|
||||
seg->nodes = grub_zalloc (sizeof (seg->nodes[0])
|
||||
* seg->node_count);
|
||||
seg->nodes = grub_calloc (seg->node_count, sizeof (seg->nodes[0]));
|
||||
|
||||
p = grub_strstr (p, "raids = [");
|
||||
if (p == NULL)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user