aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/card-tool-keys.c9
-rw-r--r--tools/gpg-card-tool.c4
2 files changed, 8 insertions, 5 deletions
diff --git a/tools/card-tool-keys.c b/tools/card-tool-keys.c
index e9edf9818..4e057ad94 100644
--- a/tools/card-tool-keys.c
+++ b/tools/card-tool-keys.c
@@ -214,9 +214,12 @@ get_matching_keys (const unsigned char *keygrip, int protocol,
err = get_matching_keys (keygrip, GNUPG_PROTOCOL_OPENPGP, &kb);
if (!err || gpg_err_code (err) == GPG_ERR_NO_PUBKEY)
{
- *keyblock_tail = kb;
- keyblock_tail = &kb->next;
- kb = NULL;
+ if (!err)
+ {
+ *keyblock_tail = kb;
+ keyblock_tail = &kb->next;
+ kb = NULL;
+ }
err = get_matching_keys (keygrip, GNUPG_PROTOCOL_CMS, &kb);
if (!err)
{
diff --git a/tools/gpg-card-tool.c b/tools/gpg-card-tool.c
index 917013247..0dbf2b224 100644
--- a/tools/gpg-card-tool.c
+++ b/tools/gpg-card-tool.c
@@ -309,7 +309,7 @@ main (int argc, char **argv)
}
else
{
- struct card_info_s info_buffer;
+ struct card_info_s info_buffer = { 0 };
card_info_t info = &info_buffer;
err = 0;
@@ -2968,7 +2968,7 @@ interactive_loop (void)
int redisplay = 1; /* Whether to redisplay the main info. */
int allow_admin = 0; /* Whether admin commands are allowed. */
char *help_arg = NULL; /* Argument of the HELP command. */
- struct card_info_s info_buffer;
+ struct card_info_s info_buffer = { 0 };
card_info_t info = &info_buffer;
char *p;
int i;