diff options
author | Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> | 2017-06-23 09:52:23 +0200 |
---|---|---|
committer | Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> | 2017-06-23 12:36:10 +0200 |
commit | 7add9c24af8ea965f0411d4b852491af337822df (patch) | |
tree | 2b7b5726300f9614e59f059aa7f5650281e8990e /xmlsecurity | |
parent | 40c9ebbb6fbba3fbb70ae652acd53928d8f26803 (diff) |
gpg4libre: Handle error when retrieving public key
Change-Id: I9543e47fb3302a5ca146a606305b24733f015a5d
Diffstat (limited to 'xmlsecurity')
-rw-r--r-- | xmlsecurity/source/gpg/CertificateImpl.cxx | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/xmlsecurity/source/gpg/CertificateImpl.cxx b/xmlsecurity/source/gpg/CertificateImpl.cxx index e40f59323a04..e87316e15005 100644 --- a/xmlsecurity/source/gpg/CertificateImpl.cxx +++ b/xmlsecurity/source/gpg/CertificateImpl.cxx @@ -211,7 +211,10 @@ void CertificateImpl::setCertificate(GpgME::Context* ctx, const GpgME::Key& key) // extract key data, store into m_aBits GpgME::Data data_out; - ctx->exportPublicKeys(key.keyID(), data_out); + GpgME::Error err = ctx->exportPublicKeys(key.keyID(), data_out); + + if (err) + throw RuntimeException("The GpgME library failed to retrieve the public key"); assert(data_out.seek(0,SEEK_SET) == 0); int len=0, curr=0; char buf; |