From 147e59b7815daafb32b570a96f1d1925d0f37008 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Wed, 24 Oct 2018 20:11:33 +0200 Subject: ssh: Fix possible infinite loop in case of an read error. * agent/command-ssh.c (ssh_handler_add_identity): Handle other errors than EOF. -- GnuPG-bug-id: 4221 Signed-off-by: Werner Koch (cherry picked from commit 7385e1babf6eef586c79ad23f8e541aaf608c4e5) --- agent/command-ssh.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/agent/command-ssh.c b/agent/command-ssh.c index 20dc3febe..9255830bf 100644 --- a/agent/command-ssh.c +++ b/agent/command-ssh.c @@ -3244,9 +3244,10 @@ ssh_handler_add_identity (ctrl_t ctrl, estream_t request, estream_t response) while (1) { err = stream_read_byte (request, &b); - if (gpg_err_code (err) == GPG_ERR_EOF) - { - err = 0; + if (err) + { + if (gpg_err_code (err) == GPG_ERR_EOF) + err = 0; break; } -- cgit v1.2.3