summaryrefslogtreecommitdiff
path: root/src/LibsslTLSContext.cc
diff options
context:
space:
mode:
authorNils Maier <maierman@web.de>2013-09-23 15:10:53 +0200
committerNils Maier <maierman@web.de>2013-09-23 15:10:53 +0200
commitd560bf0e6fb12e4908140a577d5d8b574baa9dc4 (patch)
treee0ea1c396adebb0db54775ad3c840dfa39620a87 /src/LibsslTLSContext.cc
parent2f1f45bcc58c6b3a4dc050f3e3d9676c82b80e47 (diff)
TLS: Fix dangling str() pointers
Diffstat (limited to 'src/LibsslTLSContext.cc')
-rw-r--r--src/LibsslTLSContext.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/LibsslTLSContext.cc b/src/LibsslTLSContext.cc
index 6f59a5d4..e358b9cc 100644
--- a/src/LibsslTLSContext.cc
+++ b/src/LibsslTLSContext.cc
@@ -135,8 +135,9 @@ bool OpenSSLTLSContext::addP12CredentialFile(const std::string& p12file)
std::stringstream ss;
BufferedFile(p12file.c_str(), "rb").transfer(ss);
- void *ptr = const_cast<char*>(ss.str().c_str());
- size_t len = ss.str().length();
+ auto data = ss.str();
+ void *ptr = const_cast<char*>(data.c_str());
+ size_t len = data.length();
std::unique_ptr<BIO, bio_deleter> bio(BIO_new_mem_buf(ptr, len));
A2_LOG_DEBUG(fmt("p12 size: %" PRIu64, len));