diff options
-rw-r--r-- | lib/mpi/mpi-pow.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/mpi/mpi-pow.c b/lib/mpi/mpi-pow.c index 5464c8744ea9..e24388a863a7 100644 --- a/lib/mpi/mpi-pow.c +++ b/lib/mpi/mpi-pow.c | |||
@@ -64,8 +64,13 @@ int mpi_powm(MPI res, MPI base, MPI exp, MPI mod) | |||
64 | if (!esize) { | 64 | if (!esize) { |
65 | /* Exponent is zero, result is 1 mod MOD, i.e., 1 or 0 | 65 | /* Exponent is zero, result is 1 mod MOD, i.e., 1 or 0 |
66 | * depending on if MOD equals 1. */ | 66 | * depending on if MOD equals 1. */ |
67 | rp[0] = 1; | ||
68 | res->nlimbs = (msize == 1 && mod->d[0] == 1) ? 0 : 1; | 67 | res->nlimbs = (msize == 1 && mod->d[0] == 1) ? 0 : 1; |
68 | if (res->nlimbs) { | ||
69 | if (mpi_resize(res, 1) < 0) | ||
70 | goto enomem; | ||
71 | rp = res->d; | ||
72 | rp[0] = 1; | ||
73 | } | ||
69 | res->sign = 0; | 74 | res->sign = 0; |
70 | goto leave; | 75 | goto leave; |
71 | } | 76 | } |