Browse Source

Merge remote-tracking branch 'teor/memwipe-more-keys'

Nick Mathewson 9 years ago
parent
commit
e3d166b7a6
3 changed files with 7 additions and 2 deletions
  1. 5 0
      changes/bug13477-memwipe-more-keys
  2. 1 1
      src/common/crypto.c
  3. 1 1
      src/or/router.c

+ 5 - 0
changes/bug13477-memwipe-more-keys

@@ -0,0 +1,5 @@
+  o Minor bugfixes:
+    - Ensure we securely wipe keys from memory after
+      crypto_digest_get_digest and init_curve25519_keypair_from_file
+      have finished using them.
+      Fixes bug 13477.

+ 1 - 1
src/common/crypto.c

@@ -1684,7 +1684,7 @@ crypto_digest_get_digest(crypto_digest_t *digest,
       log_warn(LD_BUG, "Called with unknown algorithm %d", digest->algorithm);
       /* If fragile_assert is not enabled, then we should at least not
        * leak anything. */
-      memset(r, 0xff, sizeof(r));
+      memwipe(r, 0xff, sizeof(r));
       tor_fragile_assert();
       break;
   }

+ 1 - 1
src/or/router.c

@@ -488,7 +488,7 @@ init_curve25519_keypair_from_file(curve25519_keypair_t *keys_out,
         if (curve25519_keypair_write_to_file(keys_out, fname, tag)<0) {
           tor_log(severity, LD_FS,
               "Couldn't write generated key to \"%s\".", fname);
-          memset(keys_out, 0, sizeof(*keys_out));
+          memwipe(keys_out, 0, sizeof(*keys_out));
           goto error;
         }
       } else {