X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/d36df6852e9caa3e261c77dc4623d25b6299c490..c349ffb1106d7d67490203b2b4099a5e912cf1ea:/unix/uxcons.c?ds=sidebyside diff --git a/unix/uxcons.c b/unix/uxcons.c index f147b35b..11c59a8a 100644 --- a/unix/uxcons.c +++ b/unix/uxcons.c @@ -161,7 +161,8 @@ int verify_ssh_host_key(void *frontend, char *host, int port, char *keytype, newmode.c_lflag |= ECHO | ISIG | ICANON; tcsetattr(0, TCSANOW, &newmode); line[0] = '\0'; - read(0, line, sizeof(line) - 1); + if (read(0, line, sizeof(line) - 1) <= 0) + /* handled below */; tcsetattr(0, TCSANOW, &oldmode); } @@ -213,7 +214,8 @@ int askalg(void *frontend, const char *algtype, const char *algname, newmode.c_lflag |= ECHO | ISIG | ICANON; tcsetattr(0, TCSANOW, &newmode); line[0] = '\0'; - read(0, line, sizeof(line) - 1); + if (read(0, line, sizeof(line) - 1) <= 0) + /* handled below */; tcsetattr(0, TCSANOW, &oldmode); } @@ -266,7 +268,8 @@ int askappend(void *frontend, Filename filename, newmode.c_lflag |= ECHO | ISIG | ICANON; tcsetattr(0, TCSANOW, &newmode); line[0] = '\0'; - read(0, line, sizeof(line) - 1); + if (read(0, line, sizeof(line) - 1) <= 0) + /* handled below */; tcsetattr(0, TCSANOW, &oldmode); } @@ -344,7 +347,7 @@ int console_get_userpass_input(prompts_t *p, unsigned char *in, int inlen) memset(p->prompts[i]->result, 0, p->prompts[i]->result_len); } - if (console_batch_mode) + if (p->n_prompts && console_batch_mode) return 0; /*