diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-01-19 09:01:27 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-01-19 10:02:13 +0000 |
commit | f6572fa96c300be282a410d9e11f0cae7049547f (patch) | |
tree | 33e256cd51e0281a5ab62be501fc6e24896e532a /uui | |
parent | 0415cb335b953b9c10075fa524d7707db4aa55e5 (diff) |
tweak to avoid coverity#1371169 Missing move assignment operator
Change-Id: I0d29ce18c19c26a7526dad98d77db4670d0c5303
Diffstat (limited to 'uui')
-rw-r--r-- | uui/source/iahndl-ssl.cxx | 23 |
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]; } } |