upstream: fix regression in r1.356: for ssh_config options that

accepted multiple string arguments, ssh was only recording the first.
Reported by Lucas via bugs@

OpenBSD-Commit-ID: 7cbf182f7449bf1cb7c5b4452667dc2b41170d6d
This commit is contained in:
djm@openbsd.org 2021-06-08 22:06:12 +00:00 committed by Damien Miller
parent 78e30af3e2
commit 1a6f6b08e6
1 changed files with 3 additions and 2 deletions

View File

@ -1,4 +1,4 @@
/* $OpenBSD: readconf.c,v 1.356 2021/06/08 07:07:15 djm Exp $ */
/* $OpenBSD: readconf.c,v 1.357 2021/06/08 22:06:12 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@ -1243,6 +1243,7 @@ parse_string:
max_entries = SSH_MAX_HOSTS_FILES;
parse_char_array:
i = 0;
value = *uintptr == 0; /* was array empty when we started? */
while ((arg = argv_next(&ac, &av)) != NULL) {
if (*arg == '\0') {
error("%s line %d: keyword %s empty argument",
@ -1259,7 +1260,7 @@ parse_char_array:
}
}
i++;
if (*activep && *uintptr == 0) {
if (*activep && value) {
if ((*uintptr) >= max_entries) {
error("%s line %d: too many %s "
"entries.", filename, linenum,