diff options
author | Andre Heinecke <[email protected]> | 2018-07-24 06:40:28 +0000 |
---|---|---|
committer | Andre Heinecke <[email protected]> | 2018-07-24 06:40:28 +0000 |
commit | a6e5c8bf18696007c48c6f362aa355020fe82f21 (patch) | |
tree | 1dbe85e013210d0ca0cb48374f4e0463bea86835 | |
parent | docs: python bindings howto (diff) | |
download | gpgme-a6e5c8bf18696007c48c6f362aa355020fe82f21.tar.gz gpgme-a6e5c8bf18696007c48c6f362aa355020fe82f21.zip |
cpp: Add safety checks for key update
* lang/cpp/src/key.cpp (Key::update): Check that the key is
not NULL.
* lang/cpp/src/verificationresult.cpp (GpgME::Signature::key):
Check for fingerprint.
-rw-r--r-- | lang/cpp/src/key.cpp | 3 | ||||
-rw-r--r-- | lang/cpp/src/verificationresult.cpp | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/lang/cpp/src/key.cpp b/lang/cpp/src/key.cpp index 61b3eb77..8fc266ff 100644 --- a/lang/cpp/src/key.cpp +++ b/lang/cpp/src/key.cpp @@ -347,6 +347,9 @@ const Key &Key::mergeWith(const Key &other) void Key::update() { + if (isNull() || !primaryFingerprint()) { + return; + } auto ctx = Context::createForProtocol(protocol()); if (!ctx) { return; diff --git a/lang/cpp/src/verificationresult.cpp b/lang/cpp/src/verificationresult.cpp index 2c42d074..fa8237ad 100644 --- a/lang/cpp/src/verificationresult.cpp +++ b/lang/cpp/src/verificationresult.cpp @@ -406,7 +406,7 @@ GpgME::Key GpgME::Signature::key(bool search, bool update) const } GpgME::Key ret = key(); - if (ret.isNull() && search) { + if (ret.isNull() && search && fingerprint ()) { auto ctx = Context::createForProtocol (d->proto); if (ctx) { ctx->setKeyListMode(KeyListMode::Local | |