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
This commit is contained in:
Roger Dingledine 2005-01-03 22:35:40 +00:00
parent 53c522ee1c
commit 9e6d6c6096

View File

@ -470,7 +470,8 @@ crypto_pk_write_private_key_to_filename(crypto_pk_env_t *env,
len = BIO_get_mem_data(bio, &cp); len = BIO_get_mem_data(bio, &cp);
tor_assert(len >= 0); tor_assert(len >= 0);
s = tor_malloc(len+1); 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); r = write_str_to_file(fname, s, 0);
BIO_free(bio); BIO_free(bio);
free(s); free(s);