From 9e6d6c60962a780954b58becb70cfa6ca89b858d Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Mon, 3 Jan 2005 22:35:40 +0000 Subject: [PATCH] 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 --- src/common/crypto.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/common/crypto.c b/src/common/crypto.c index 104e8a56e9..fc69f7dd1e 100644 --- a/src/common/crypto.c +++ b/src/common/crypto.c @@ -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); -- 2.47.3