diff options
Diffstat (limited to 'g10/import.c')
-rw-r--r-- | g10/import.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/g10/import.c b/g10/import.c index e1577b8a1..518e97f71 100644 --- a/g10/import.c +++ b/g10/import.c @@ -1071,7 +1071,11 @@ import_one (ctrl_t ctrl, } else if (rc ) /* Insert this key. */ { - KEYDB_HANDLE hd = keydb_new (); + KEYDB_HANDLE hd; + + hd = keydb_new (); + if (!hd) + return gpg_error_from_syserror (); rc = keydb_locate_writable (hd); if (rc) @@ -1136,6 +1140,11 @@ import_one (ctrl_t ctrl, /* Now read the original keyblock again so that we can use that handle for updating the keyblock. */ hd = keydb_new (); + if (!hd) + { + rc = gpg_error_from_syserror (); + goto leave; + } keydb_disable_caching (hd); rc = keydb_search_fpr (hd, fpr2); if (rc ) @@ -1846,6 +1855,12 @@ import_revoke_cert( const char *fname, kbnode_t node, struct stats_s *stats ) /* Read the original keyblock. */ hd = keydb_new (); + if (!hd) + { + rc = gpg_error_from_syserror (); + goto leave; + } + { byte afp[MAX_FINGERPRINT_LEN]; size_t an; |