Initialize TMP to avoid confusion by static analysis.
authorNIIBE Yutaka <gniibe@fsij.org>
Wed, 19 Jul 2017 02:55:20 +0000 (11:55 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Wed, 19 Jul 2017 02:55:20 +0000 (11:55 +0900)
--

The computation using TMP is keeping it constant-time only, but
it is better not to confuse static analysis.

Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
ChangeLog
src/mod.c

index 292dab4..751e7d2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2017-07-19  NIIBE Yutaka  <gniibe@fsij.org>
 
+       * src/mod.c (mod_inv): Clear TMP.
+
        * src/configure (REVISION): Generate even when no git.
 
        * polarssl/library/bignum.c (mpi_exp_mod): Call mpi_grow for X
index bd4de24..340fc16 100644 (file)
--- a/src/mod.c
+++ b/src/mod.c
@@ -156,6 +156,7 @@ mod_inv (bn256 *C, const bn256 *X, const bn256 *N)
 #define borrow carry
   int n = MAX_GCD_STEPS_BN256;
 
+  memset (tmp, 0, sizeof (bn256));
   memset (C, 0, sizeof (bn256));
   memcpy (u, X, sizeof (bn256));
   memcpy (v, N, sizeof (bn256));