mirror of https://github.com/aria2/aria2
TLS: Fix dangling str() pointers
parent
2f1f45bcc5
commit
d560bf0e6f
|
@ -111,9 +111,10 @@ bool GnuTLSContext::addP12CredentialFile(const std::string& p12file)
|
|||
{
|
||||
std::stringstream ss;
|
||||
BufferedFile(p12file.c_str(), "rb").transfer(ss);
|
||||
auto datastr = ss.str();
|
||||
const gnutls_datum_t data = {
|
||||
(unsigned char*)ss.str().c_str(),
|
||||
(unsigned int)ss.str().length()
|
||||
(unsigned char*)datastr.c_str(),
|
||||
(unsigned int)datastr.length()
|
||||
};
|
||||
int err = gnutls_certificate_set_x509_simple_pkcs12_mem(
|
||||
certCred_, &data, GNUTLS_X509_FMT_DER, "");
|
||||
|
|
|
@ -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));
|
||||
|
||||
|
|
Loading…
Reference in New Issue