[Libreoffice-commits] core.git: xmlsecurity/source

Thorsten Behrens Thorsten.Behrens at CIB.de
Tue Jan 16 14:28:00 UTC 2018


 xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 03afd4b72431a0dc197891d41fb7bf2419858380
Author: Thorsten Behrens <Thorsten.Behrens at CIB.de>
Date:   Tue Jan 16 12:10:36 2018 +0100

    tdf#115011 don't crash on non-existent gpg support
    
    Change-Id: I90679472898648ccf0811c67c17f7bad41d4e347
    Reviewed-on: https://gerrit.libreoffice.org/47984
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>

diff --git a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
index 0da8288adba3..4526786c4cc0 100644
--- a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
+++ b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
@@ -683,7 +683,7 @@ uno::Reference<security::XCertificate> DigitalSignaturesDialog::getCertificate(c
     uno::Reference<security::XCertificate> xCert;
 
     //First we try to get the certificate which is embedded in the XML Signature
-    if (!rInfo.ouX509Certificate.isEmpty())
+    if (xSecEnv.is() && !rInfo.ouX509Certificate.isEmpty())
         xCert = xSecEnv->createCertificateFromAscii(rInfo.ouX509Certificate);
     else {
         //There must be an embedded certificate because we use it to get the
@@ -696,9 +696,9 @@ uno::Reference<security::XCertificate> DigitalSignaturesDialog::getCertificate(c
     }
 
     //In case there is no embedded certificate we try to get it from a local store
-    if (!xCert.is())
+    if (!xCert.is() && xSecEnv.is())
         xCert = xSecEnv->getCertificate( rInfo.ouX509IssuerName, xmlsecurity::numericStringToBigInteger( rInfo.ouX509SerialNumber ) );
-    if (!xCert.is())
+    if (!xCert.is() && xGpgSecEnv.is())
         xCert = xGpgSecEnv->getCertificate( rInfo.ouGpgKeyID, xmlsecurity::numericStringToBigInteger("") );
 
     SAL_WARN_IF( !xCert.is(), "xmlsecurity.dialogs", "Certificate not found and can't be created!" );


More information about the Libreoffice-commits mailing list