xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.cxx | 16 +++------- 1 file changed, 6 insertions(+), 10 deletions(-)
New commits: commit 59bcc90cad1bf07e6841dbd01ef503c10032ff0b Author: Miklos Vajna <vmik...@collabora.co.uk> AuthorDate: Wed Aug 29 21:34:23 2018 +0200 Commit: Miklos Vajna <vmik...@collabora.co.uk> CommitDate: Thu Aug 30 09:12:56 2018 +0200 xmlsecurity: use comphelper::containerToSequence() Allows not iterating the certificate chain twice. Change-Id: I3993f8af24b28bef505d0e8c24bce8065580c2cf Reviewed-on: https://gerrit.libreoffice.org/59780 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk> diff --git a/xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.cxx b/xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.cxx index 3f928b05bcc8..7e19c995ae88 100644 --- a/xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.cxx +++ b/xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.cxx @@ -40,6 +40,7 @@ #include <vector> #include <memory> #include <osl/thread.h> +#include <comphelper/sequence.hxx> #include "secerror.hxx" @@ -438,15 +439,10 @@ Sequence< Reference < XCertificate > > SecurityEnvironment_NssImpl::buildCertifi } if( certChain != nullptr ) { - X509Certificate_NssImpl* pCert ; - CERTCertListNode* node ; - int len ; + std::vector<uno::Reference<security::XCertificate>> aCertChain; - for( len = 0, node = CERT_LIST_HEAD( certChain ); !CERT_LIST_END( node, certChain ); node = CERT_LIST_NEXT( node ), len ++ ) ; - Sequence< Reference< XCertificate > > xCertChain( len ) ; - - for( len = 0, node = CERT_LIST_HEAD( certChain ); !CERT_LIST_END( node, certChain ); node = CERT_LIST_NEXT( node ), len ++ ) { - pCert = new X509Certificate_NssImpl() ; + for (CERTCertListNode* node = CERT_LIST_HEAD(certChain); !CERT_LIST_END(node, certChain); node = CERT_LIST_NEXT(node)) { + X509Certificate_NssImpl* pCert = new X509Certificate_NssImpl(); if( pCert == nullptr ) { CERT_DestroyCertList( certChain ) ; throw RuntimeException() ; @@ -454,12 +450,12 @@ Sequence< Reference < XCertificate > > SecurityEnvironment_NssImpl::buildCertifi pCert->setCert( node->cert ) ; - xCertChain[len] = pCert ; + aCertChain.push_back(pCert); } CERT_DestroyCertList( certChain ) ; - return xCertChain ; + return comphelper::containerToSequence(aCertChain); } return Sequence< Reference < XCertificate > >(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits