Created
June 4, 2020 21:16
-
-
Save kaie/e87898c4a0de65569ab49e148fc26b25 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/librekey/key_store_pgp.cpp b/src/librekey/key_store_pgp.cpp | |
index e0e060f0..ac98eeb4 100644 | |
--- a/src/librekey/key_store_pgp.cpp | |
+++ b/src/librekey/key_store_pgp.cpp | |
@@ -154,6 +154,21 @@ rnp_key_add_transferable_userid(pgp_key_t *key, pgp_transferable_userid_t *uid) | |
return true; | |
} | |
+void | |
+rnp_report_failing_key_id(const pgp_key_t &k) | |
+{ | |
+ size_t hex_len = PGP_KEY_ID_SIZE * 2 + 1; | |
+ char *keyid = (char *) malloc(hex_len); | |
+ if (!keyid) { | |
+ return; | |
+ } | |
+ if (rnp_hex_encode( | |
+ pgp_key_get_keyid(&k), PGP_KEY_ID_SIZE, keyid, hex_len, RNP_HEX_UPPERCASE)) { | |
+ RNP_LOG(keyid); | |
+ } | |
+ free(keyid); | |
+} | |
+ | |
bool | |
rnp_key_store_add_transferable_key(rnp_key_store_t *keyring, pgp_transferable_key_t *tkey) | |
{ | |
@@ -173,6 +188,7 @@ rnp_key_store_add_transferable_key(rnp_key_store_t *keyring, pgp_transferable_ke | |
addkey = rnp_key_store_add_key(keyring, &key); | |
if (!addkey) { | |
RNP_LOG("Failed to add key to key store."); | |
+ rnp_report_failing_key_id(key); | |
return false; | |
} | |
@@ -181,6 +197,7 @@ rnp_key_store_add_transferable_key(rnp_key_store_t *keyring, pgp_transferable_ke | |
pgp_transferable_subkey_t *subkey = (pgp_transferable_subkey_t *) skey; | |
if (!rnp_key_store_add_transferable_subkey(keyring, subkey, addkey)) { | |
RNP_LOG("Failed to add subkey to key store."); | |
+ rnp_report_failing_key_id(key); | |
goto error; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment