mpi: Remove useless condition.
authorWerner Koch <wk@gnupg.org>
Mon, 16 Mar 2015 08:29:27 +0000 (09:29 +0100)
committerWerner Koch <wk@gnupg.org>
Mon, 16 Mar 2015 08:31:03 +0000 (09:31 +0100)
* mpi/mpi-pow.c: Remove condition rp==mp.
--

MP has already been allocated and thus can't match RP.  The followinf
assert would have been triggred anyway due to the prior allocation.

Detected by Stack 0.3.

mpi/mpi-pow.c

index 70bf9e8..0be153f 100644 (file)
@@ -507,7 +507,8 @@ _gcry_mpi_powm (gcry_mpi_t res,
     }
 
 
-  /* Make BASE, EXPO and MOD not overlap with RES.  */
+  /* Make BASE, EXPO not overlap with RES.  We don't need to check MOD
+     because that has already been copied to the MP var.  */
   if ( rp == bp )
     {
       /* RES and BASE are identical.  Allocate temp. space for BASE.  */
@@ -523,14 +524,6 @@ _gcry_mpi_powm (gcry_mpi_t res,
       ep = ep_marker = mpi_alloc_limb_space( esize, esec );
       MPN_COPY(ep, rp, esize);
     }
-  if ( rp == mp )
-    {
-      /* RES and MOD are identical.  Allocate temporary space for MOD.*/
-      gcry_assert (!mp_marker);
-      mp_nlimbs = msec?msize:0;
-      mp = mp_marker = mpi_alloc_limb_space( msize, msec );
-      MPN_COPY(mp, rp, msize);
-    }
 
   /* Copy base to the result.  */
   if (res->alloced < size)