mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-01 08:03:31 +01:00
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:
parent
53c522ee1c
commit
9e6d6c6096
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user