1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-03 22:56:33 +02:00

gpg: Terminate key listing on output write error.

* g10/keylist.c (list_all): Handle error from list_keyblock.
(list_one): Ditto.
(locate_one): Ditto.
(list_keyblock): Detect write error, print, and return it.
(list_keyblock_direct): Return error from list_keyblock.
* g10/import.c (import_one_real): Break on listing error.
--

Test by using
  gpg -k >/dev/full

GnuPG-bug-id: 6185
This commit is contained in:
Werner Koch 2024-05-15 09:56:40 +02:00
parent e0543f97be
commit b36e557c5b
No known key found for this signature in database
GPG key ID: E3FDFF218E45B72B
4 changed files with 46 additions and 20 deletions

View file

@ -2175,10 +2175,12 @@ import_one_real (ctrl_t ctrl,
merge_keys_done = 1;
/* Note that we do not want to show the validity because the key
* has not yet imported. */
list_keyblock_direct (ctrl, keyblock, from_sk, 0,
err = list_keyblock_direct (ctrl, keyblock, from_sk, 0,
opt.fingerprint || opt.with_fingerprint, 1);
es_fflush (es_stdout);
no_usable_encr_subkeys_warning (keyblock);
if (err)
goto leave;
}
/* Write the keyblock to the output and do not actually import. */