From b9563c9451eda253d9f89c96ec09d4228b7da5ee Mon Sep 17 00:00:00 2001 From: Vladimir Serbinenko Date: Fri, 8 Nov 2013 16:33:48 +0100 Subject: [PATCH] * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem): Use grub_fatal rather than divide by zero. * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise. --- ChangeLog | 6 ++++++ grub-core/lib/libgcrypt/mpi/mpi-pow.c | 2 +- grub-core/lib/libgcrypt/mpi/mpih-div.c | 3 ++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4a17bec95..92a069387 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2013-11-08 Vladimir Serbinenko + + * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem): + Use grub_fatal rather than divide by zero. + * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise. + 2013-11-08 Vladimir Serbinenko * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than diff --git a/grub-core/lib/libgcrypt/mpi/mpi-pow.c b/grub-core/lib/libgcrypt/mpi/mpi-pow.c index a63fc6dd4..58643fed2 100644 --- a/grub-core/lib/libgcrypt/mpi/mpi-pow.c +++ b/grub-core/lib/libgcrypt/mpi/mpi-pow.c @@ -77,7 +77,7 @@ gcry_mpi_powm (gcry_mpi_t res, ep = expo->d; if (!msize) - msize = 1 / msize; /* Provoke a signal. */ + grub_fatal ("mpi division by zero"); if (!esize) { diff --git a/grub-core/lib/libgcrypt/mpi/mpih-div.c b/grub-core/lib/libgcrypt/mpi/mpih-div.c index 224b81086..0b458fffd 100644 --- a/grub-core/lib/libgcrypt/mpi/mpih-div.c +++ b/grub-core/lib/libgcrypt/mpi/mpih-div.c @@ -214,7 +214,8 @@ _gcry_mpih_divrem( mpi_ptr_t qp, mpi_size_t qextra_limbs, case 0: /* We are asked to divide by zero, so go ahead and do it! (To make the compiler not remove this statement, return the value.) */ - return 1 / dsize; + grub_fatal ("mpi division by zero"); + return 0; case 1: {