fix uninit e_hash issue
authorChristian Grothoff <christian@grothoff.org>
Thu, 14 Feb 2019 09:54:01 +0000 (10:54 +0100)
committerChristian Grothoff <christian@grothoff.org>
Thu, 14 Feb 2019 09:54:01 +0000 (10:54 +0100)
src/secretsharing/gnunet-service-secretsharing.c
src/secretsharing/secretsharing.conf.in

index d4c01fedbf646c726207d6fc176801dc9034cc9f..e423217f256570fbb202956b374970dfea70c357 100644 (file)
@@ -11,7 +11,7 @@
      WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      Affero General Public License for more details.
-    
+
      You should have received a copy of the GNU Affero General Public License
      along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
@@ -994,11 +994,16 @@ get_fair_encryption_challenge (const struct GNUNET_SECRETSHARING_FairEncryption
   } hash_data;
   struct GNUNET_HashCode e_hash;
 
+  memset (&hash_data,
+          0,
+          sizeof (hash_data));
   GNUNET_memcpy (&hash_data.c, &fe->c, sizeof (struct GNUNET_CRYPTO_PaillierCiphertext));
   GNUNET_memcpy (&hash_data.h, &fe->h, GNUNET_SECRETSHARING_ELGAMAL_BITS / 8);
   GNUNET_memcpy (&hash_data.t1, &fe->t1, GNUNET_SECRETSHARING_ELGAMAL_BITS / 8);
   GNUNET_memcpy (&hash_data.t2, &fe->t2, GNUNET_CRYPTO_PAILLIER_BITS * 2 / 8);
-
+  GNUNET_CRYPTO_hash (&hash_data,
+                      sizeof (hash_data),
+                      &e_hash);
   GNUNET_CRYPTO_mpi_scan_unsigned (&e, &e_hash, sizeof (struct GNUNET_HashCode));
   gcry_mpi_mod (e, e, elgamal_q);
 }
index bd8da6177f6bd60af405e646f7e55335f03a0bb6..ddc41b978bd6e9773235e49919393f16c0809e89 100644 (file)
@@ -8,8 +8,9 @@ ACCEPT_FROM6 = ::1;
 UNIXPATH = $GNUNET_RUNTIME_DIR/gnunet-service-secretsharing.sock
 UNIX_MATCH_UID = YES
 UNIX_MATCH_GID = YES
+PREFIX = valgrind --leak-check=yes
 # DISABLE_SOCKET_FORWARDING = NO
-# USERNAME = 
+# USERNAME =
 # MAXBUF =
 # TIMEOUT =
 # DISABLEV6 =