From: Roger Dingledine Date: Mon, 3 Jan 2005 22:35:40 +0000 (+0000) Subject: Bugfix: we've been using openssl's BIO_get_mem_data incorrectly. X-Git-Tag: debian-version-0.0.9.2-1~14 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9e6d6c60962a780954b58becb70cfa6ca89b858d;p=thirdparty%2Ftor.git 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 --- 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);