diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/IceSSL/SecureTransportTransceiverI.cpp | 4 | ||||
-rw-r--r-- | cpp/src/IceSSL/SecureTransportUtil.cpp | 1 |
2 files changed, 3 insertions, 2 deletions
diff --git a/cpp/src/IceSSL/SecureTransportTransceiverI.cpp b/cpp/src/IceSSL/SecureTransportTransceiverI.cpp index bf2beb69f2c..86bc3785699 100644 --- a/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +++ b/cpp/src/IceSSL/SecureTransportTransceiverI.cpp @@ -132,8 +132,8 @@ checkTrustResult(SecTrustRef trust, throw SecurityException(__FILE__, __LINE__, "IceSSL: handshake failure:\n" + sslErrorToString(err)); } UniqueRef<CFMutableArrayRef> newPolicies(CFArrayCreateMutableCopy(kCFAllocatorDefault, 0, policies.get())); - CFArrayAppendValue(newPolicies.get(), policy.release()); - if((err = SecTrustSetPolicies(trust, newPolicies.release()))) + CFArrayAppendValue(newPolicies.get(), policy.get()); + if((err = SecTrustSetPolicies(trust, newPolicies.get()))) { throw SecurityException(__FILE__, __LINE__, "IceSSL: handshake failure:\n" + sslErrorToString(err)); } diff --git a/cpp/src/IceSSL/SecureTransportUtil.cpp b/cpp/src/IceSSL/SecureTransportUtil.cpp index a50fa3f075a..23e501852ae 100644 --- a/cpp/src/IceSSL/SecureTransportUtil.cpp +++ b/cpp/src/IceSSL/SecureTransportUtil.cpp @@ -547,6 +547,7 @@ IceSSL::SecureTransport::loadCertificateChain(const string& file, int count = 0; do { + items.reset(); UniqueRef<CFStringRef> pass(toCFString(password.empty() && prompt ? prompt->getPassword() : password)); CFDictionarySetValue(settings.get(), kSecImportExportPassphrase, pass.get()); err = SecPKCS12Import(cert.get(), settings.get(), &items.get()); |