summaryrefslogtreecommitdiffstats
path: root/uui
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-01-19 09:01:27 +0000
committerCaolán McNamara <caolanm@redhat.com>2017-01-19 10:02:13 +0000
commitf6572fa96c300be282a410d9e11f0cae7049547f (patch)
tree33e256cd51e0281a5ab62be501fc6e24896e532a /uui
parentnew loplugin: useuniqueptr: sot..tools (diff)
downloadcore-f6572fa96c300be282a410d9e11f0cae7049547f.tar.gz
core-f6572fa96c300be282a410d9e11f0cae7049547f.zip
tweak to avoid coverity#1371169 Missing move assignment operator
Change-Id: I0d29ce18c19c26a7526dad98d77db4670d0c5303
Diffstat (limited to 'uui')
-rw-r--r--uui/source/iahndl-ssl.cxx23
1 files changed, 15 insertions, 8 deletions
diff --git a/uui/source/iahndl-ssl.cxx b/uui/source/iahndl-ssl.cxx
index 20688f7a3c9f..aa31496e1bdb 100644
--- a/uui/source/iahndl-ssl.cxx
+++ b/uui/source/iahndl-ssl.cxx
@@ -28,6 +28,7 @@
#include <com/sun/star/ucb/CertificateValidationRequest.hpp>
#include <com/sun/star/uno/Reference.hxx>
+#include <comphelper/sequence.hxx>
#include <osl/mutex.hxx>
#include <com/sun/star/uno/Sequence.hxx>
#include <svl/zforlist.hxx>
@@ -272,27 +273,33 @@ handleCertificateValidationRequest_(
}
uno::Sequence< uno::Reference< security::XCertificateExtension > > extensions = rRequest.Certificate->getExtensions();
- uno::Sequence< security::CertAltNameEntry > altNames;
- for (sal_Int32 i = 0 ; i < extensions.getLength(); i++){
+ uno::Reference< security::XSanExtension > sanExtension;
+ for (sal_Int32 i = 0 ; i < extensions.getLength(); ++i)
+ {
uno::Reference< security::XCertificateExtension >element = extensions[i];
-
OString aId ( reinterpret_cast<const char *>(element->getExtensionId().getConstArray()), element->getExtensionId().getLength());
if (aId.equals(OID_SUBJECT_ALTERNATIVE_NAME))
{
- uno::Reference< security::XSanExtension > sanExtension ( element, uno::UNO_QUERY );
- altNames = sanExtension->getAlternativeNames();
+ sanExtension = uno::Reference<security::XSanExtension>(element, uno::UNO_QUERY);
break;
}
}
+ std::vector<security::CertAltNameEntry> altNames;
+ if (sanExtension.is())
+ {
+ altNames = comphelper::sequenceToContainer<std::vector<security::CertAltNameEntry>>(sanExtension->getAlternativeNames());
+ }
+
OUString certHostName = getContentPart( rRequest.Certificate->getSubjectName() );
- uno::Sequence< OUString > certHostNames(altNames.getLength() + 1);
+ uno::Sequence< OUString > certHostNames(altNames.size() + 1);
certHostNames[0] = certHostName;
- for(int n = 0; n < altNames.getLength(); ++n)
+ for (size_t n = 0; n < altNames.size(); ++n)
{
- if (altNames[n].Type == security::ExtAltNameType_DNS_NAME){
+ if (altNames[n].Type == security::ExtAltNameType_DNS_NAME)
+ {
altNames[n].Value >>= certHostNames[n+1];
}
}