Commit 9e6d6c60 authored by Roger Dingledine's avatar Roger Dingledine
Browse files

Bugfix: we've been using openssl's BIO_get_mem_data incorrectly.

We assumed the pem-encoded data written by PEM_write_bio_RSAPrivateKey
is nul-terminated, and at least sometimes, it's not.


svn:r3263
parent 53c522ee
Loading
Loading
Loading
Loading
+2 −1
Changes for src/common/crypto.c: 2 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -470,7 +470,8 @@ crypto_pk_write_private_key_to_filename(crypto_pk_env_t *env,
  len = BIO_get_mem_data(bio, &cp);
  tor_assert(len >= 0);
  s = tor_malloc(len+1);
  strlcpy(s, cp, len+1);
  memcpy(s, cp, len);
  s[len]='\0';
  r = write_str_to_file(fname, s, 0);
  BIO_free(bio);
  free(s);