upstream commit
don't accept junk after "yes" or "no" responses to hostkey prompts. bz#2803 reported by Maksim Derbasov; ok dtucker@ OpenBSD-Commit-ID: e1b159fb2253be973ce25eb7a7be26e6f967717c
This commit is contained in:
parent
609d96b3d5
commit
e0ce54c0b9
11
sshconnect.c
11
sshconnect.c
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: sshconnect.c,v 1.288 2017/11/25 06:46:22 dtucker Exp $ */
|
/* $OpenBSD: sshconnect.c,v 1.289 2017/12/06 05:06:21 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||||
|
@ -631,11 +631,12 @@ confirm(const char *prompt)
|
||||||
return 0;
|
return 0;
|
||||||
for (msg = prompt;;msg = again) {
|
for (msg = prompt;;msg = again) {
|
||||||
p = read_passphrase(msg, RP_ECHO);
|
p = read_passphrase(msg, RP_ECHO);
|
||||||
if (p == NULL ||
|
if (p == NULL)
|
||||||
(p[0] == '\0') || (p[0] == '\n') ||
|
return 0;
|
||||||
strncasecmp(p, "no", 2) == 0)
|
p[strcspn(p, "\n")] = '\0';
|
||||||
|
if (p[0] == '\0' || strcasecmp(p, "no") == 0)
|
||||||
ret = 0;
|
ret = 0;
|
||||||
if (p && strncasecmp(p, "yes", 3) == 0)
|
else if (strcasecmp(p, "yes") == 0)
|
||||||
ret = 1;
|
ret = 1;
|
||||||
free(p);
|
free(p);
|
||||||
if (ret != -1)
|
if (ret != -1)
|
||||||
|
|
Loading…
Reference in New Issue