]> git.ipfire.org Git - thirdparty/grub.git/commit
calloc: Use calloc() at most places
authorPeter Jones <pjones@redhat.com>
Mon, 15 Jun 2020 16:26:01 +0000 (12:26 -0400)
committerDaniel Kiper <daniel.kiper@oracle.com>
Wed, 29 Jul 2020 14:55:47 +0000 (16:55 +0200)
commitf725fa7cb2ece547c5af01eeeecfe8d95802ed41
treef35ddd48518c538c44259577cd22fc139f2cc54f
parent64e26162ebfe68317c143ca5ec996c892019f8f8
calloc: Use calloc() at most places

This modifies most of the places we do some form of:

  X = malloc(Y * Z);

to use calloc(Y, Z) instead.

Among other issues, this fixes:
  - allocation of integer overflow in grub_png_decode_image_header()
    reported by Chris Coulson,
  - allocation of integer overflow in luks_recover_key()
    reported by Chris Coulson,
  - allocation of integer overflow in grub_lvm_detect()
    reported by Chris Coulson.

Fixes: CVE-2020-14308
Signed-off-by: Peter Jones <pjones@redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
87 files changed:
grub-core/bus/usb/usbhub.c
grub-core/commands/efi/lsefisystab.c
grub-core/commands/legacycfg.c
grub-core/commands/menuentry.c
grub-core/commands/nativedisk.c
grub-core/commands/parttool.c
grub-core/commands/regexp.c
grub-core/commands/search_wrap.c
grub-core/disk/diskfilter.c
grub-core/disk/ieee1275/ofdisk.c
grub-core/disk/ldm.c
grub-core/disk/luks.c
grub-core/disk/lvm.c
grub-core/disk/xen/xendisk.c
grub-core/efiemu/loadcore.c
grub-core/efiemu/mm.c
grub-core/font/font.c
grub-core/fs/affs.c
grub-core/fs/btrfs.c
grub-core/fs/hfs.c
grub-core/fs/hfsplus.c
grub-core/fs/iso9660.c
grub-core/fs/ntfs.c
grub-core/fs/sfs.c
grub-core/fs/tar.c
grub-core/fs/udf.c
grub-core/fs/zfs/zfs.c
grub-core/gfxmenu/gui_string_util.c
grub-core/gfxmenu/widget-box.c
grub-core/io/gzio.c
grub-core/kern/efi/efi.c
grub-core/kern/emu/hostdisk.c
grub-core/kern/fs.c
grub-core/kern/misc.c
grub-core/kern/parser.c
grub-core/kern/uboot/uboot.c
grub-core/lib/json/json.c
grub-core/lib/libgcrypt/cipher/ac.c
grub-core/lib/libgcrypt/cipher/primegen.c
grub-core/lib/libgcrypt/cipher/pubkey.c
grub-core/lib/priority_queue.c
grub-core/lib/reed_solomon.c
grub-core/lib/relocator.c
grub-core/lib/zstd/fse_decompress.c
grub-core/loader/arm/linux.c
grub-core/loader/efi/chainloader.c
grub-core/loader/i386/bsdXX.c
grub-core/loader/i386/xnu.c
grub-core/loader/macho.c
grub-core/loader/multiboot_elfxx.c
grub-core/loader/xnu.c
grub-core/mmap/mmap.c
grub-core/net/bootp.c
grub-core/net/dns.c
grub-core/net/net.c
grub-core/normal/charset.c
grub-core/normal/cmdline.c
grub-core/normal/menu_entry.c
grub-core/normal/menu_text.c
grub-core/normal/term.c
grub-core/osdep/linux/getroot.c
grub-core/osdep/unix/config.c
grub-core/osdep/windows/getroot.c
grub-core/osdep/windows/hostdisk.c
grub-core/osdep/windows/init.c
grub-core/osdep/windows/platform.c
grub-core/osdep/windows/relpath.c
grub-core/partmap/gpt.c
grub-core/partmap/msdos.c
grub-core/script/execute.c
grub-core/tests/fake_input.c
grub-core/tests/video_checksum.c
grub-core/video/capture.c
grub-core/video/emu/sdl.c
grub-core/video/i386/pc/vga.c
grub-core/video/readers/png.c
include/grub/unicode.h
util/getroot.c
util/grub-file.c
util/grub-fstest.c
util/grub-install-common.c
util/grub-install.c
util/grub-mkimagexx.c
util/grub-mkrescue.c
util/grub-mkstandalone.c
util/grub-pe2elf.c
util/grub-probe.c