diff --git a/ChangeLog b/ChangeLog index 3ae00de22..0c85b35b4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2015-01-20 Vladimir Serbinenko + + * grub-core/disk/AFSplitter.c (AF_merge): Check that mdlen is not 0. + 2015-01-20 Vladimir Serbinenko * grub-core/commands/i386/pc/play.c (grub_cmd_play): Avoid diff --git a/grub-core/disk/AFSplitter.c b/grub-core/disk/AFSplitter.c index d76a1c447..7e1bd5748 100644 --- a/grub-core/disk/AFSplitter.c +++ b/grub-core/disk/AFSplitter.c @@ -76,7 +76,7 @@ AF_merge (const gcry_md_spec_t * hash, grub_uint8_t * src, grub_uint8_t * dst, if (bufblock == NULL) return GPG_ERR_OUT_OF_MEMORY; - if (hash->mdlen > GRUB_CRYPTO_MAX_MDLEN) + if (hash->mdlen > GRUB_CRYPTO_MAX_MDLEN || hash->mdlen == 0) return GPG_ERR_INV_ARG; grub_memset (bufblock, 0, blocksize);