diff options
author | Werner Koch <[email protected]> | 2018-10-24 18:11:33 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2018-10-24 18:11:33 +0000 |
commit | 7385e1babf6eef586c79ad23f8e541aaf608c4e5 (patch) | |
tree | 42a01132ea996a3d33f1eed54f51584a5f5f0ef7 /agent/command-ssh.c | |
parent | tools: Fix FILE memory leak in gpg-connect-agent. (diff) | |
download | gnupg-7385e1babf6eef586c79ad23f8e541aaf608c4e5.tar.gz gnupg-7385e1babf6eef586c79ad23f8e541aaf608c4e5.zip |
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 <[email protected]>
Diffstat (limited to 'agent/command-ssh.c')
-rw-r--r-- | agent/command-ssh.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/agent/command-ssh.c b/agent/command-ssh.c index ff1f0a5bc..86fd092ff 100644 --- a/agent/command-ssh.c +++ b/agent/command-ssh.c @@ -3249,9 +3249,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; } |