X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=kernel%2Flib%2Fmpi%2Fmpi-pow.c;fp=kernel%2Flib%2Fmpi%2Fmpi-pow.c;h=e24388a863a76ff47afc2a7fc3680bc6ab6e8f4e;hb=52f993b8e89487ec9ee15a7fb4979e0f09a45b27;hp=5464c8744ea95647beeef44efc3722161f5b224b;hpb=c189ccac5702322ed843fe17057035b7222a59b6;p=kvmfornfv.git diff --git a/kernel/lib/mpi/mpi-pow.c b/kernel/lib/mpi/mpi-pow.c index 5464c8744..e24388a86 100644 --- a/kernel/lib/mpi/mpi-pow.c +++ b/kernel/lib/mpi/mpi-pow.c @@ -64,8 +64,13 @@ int mpi_powm(MPI res, MPI base, MPI exp, MPI mod) if (!esize) { /* Exponent is zero, result is 1 mod MOD, i.e., 1 or 0 * depending on if MOD equals 1. */ - rp[0] = 1; res->nlimbs = (msize == 1 && mod->d[0] == 1) ? 0 : 1; + if (res->nlimbs) { + if (mpi_resize(res, 1) < 0) + goto enomem; + rp = res->d; + rp[0] = 1; + } res->sign = 0; goto leave; }