diff options
| author | Werner Koch <[email protected]> | 2016-01-11 09:59:13 +0000 |
|---|---|---|
| committer | Werner Koch <[email protected]> | 2016-01-11 09:59:13 +0000 |
| commit | b280aa6423c9492e8c5a9afa57339d06d957996d (patch) | |
| tree | b17b106eaed7c67bf284d0fe0cad309025fe69df /g10/getkey.c | |
| parent | tools: Remove gpgkey2ssh. (diff) | |
| download | gnupg-b280aa6423c9492e8c5a9afa57339d06d957996d.tar.gz gnupg-b280aa6423c9492e8c5a9afa57339d06d957996d.zip | |
gpg: Fix NULL de-ref for ambiguous key check in --export-ssh-keys.
* g10/getkey.c: Allow arg RET_KEYBLOCK to be NULL.
--
This change adds the expected behavior for the getkey_next function
to fix this NULL de-ref.
GnuPG-bug-id: 2212
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'g10/getkey.c')
| -rw-r--r-- | g10/getkey.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/g10/getkey.c b/g10/getkey.c index 37a5b565c..1df7287ba 100644 --- a/g10/getkey.c +++ b/g10/getkey.c @@ -3059,6 +3059,9 @@ lookup (getkey_ctx_t ctx, kbnode_t *ret_keyblock, kbnode_t *ret_found_key, KBNODE keyblock = NULL; KBNODE found_key = NULL; + if (ret_keyblock) + *ret_keyblock = NULL; + for (;;) { rc = keydb_search (ctx->kr_handle, ctx->items, ctx->nitems, NULL); @@ -3113,7 +3116,8 @@ found: if (!rc) { - *ret_keyblock = keyblock; /* Return the keyblock. */ + if (ret_keyblock) + *ret_keyblock = keyblock; /* Return the keyblock. */ keyblock = NULL; } else if (gpg_err_code (rc) == GPG_ERR_NOT_FOUND && no_suitable_key) |
