gpg: Clear a possible rest of the KDF secret buffer.
authorWerner Koch <wk@gnupg.org>
Mon, 5 Jan 2015 14:03:12 +0000 (15:03 +0100)
committerWerner Koch <wk@gnupg.org>
Mon, 5 Jan 2015 14:15:28 +0000 (15:15 +0100)
* g10/ecdh.c (pk_ecdh_encrypt_with_shared_point): Fix order of args.
--

That bug has been here since the beginning.  The entire function needs
a review or be be moved to Libgcrypt.

Signed-off-by: Werner Koch <wk@gnupg.org>
g10/ecdh.c

index 0b06239..07f3983 100644 (file)
@@ -250,7 +250,7 @@ pk_ecdh_encrypt_with_shared_point (int is_encrypt, gcry_mpi_t shared_mpi,
     assert( secret_x_size <= gcry_md_get_algo_dlen (kdf_hash_algo) );
 
     /* We could have allocated more, so clean the tail before returning.  */
-    memset( secret_x+secret_x_size, old_size-secret_x_size, 0 );
+    memset (secret_x+secret_x_size, 0, old_size - secret_x_size);
     if (DBG_CIPHER)
       log_printhex ("ecdh KEK is:", secret_x, secret_x_size );
   }