summaryrefslogtreecommitdiffstats
path: root/usr.bin/ssh/ssh-keyscan.c
diff options
context:
space:
mode:
authormarkus <markus@openbsd.org>2018-06-06 18:29:18 +0000
committermarkus <markus@openbsd.org>2018-06-06 18:29:18 +0000
commite3941638b86e489e7a433e702729d0c6930ef56c (patch)
treec8d6a67362f25e84c59520a843ad616f7ddc0c1a /usr.bin/ssh/ssh-keyscan.c
parentregress test for PermitOpen (diff)
downloadwireguard-openbsd-e3941638b86e489e7a433e702729d0c6930ef56c.tar.xz
wireguard-openbsd-e3941638b86e489e7a433e702729d0c6930ef56c.zip
switch config file parsing to getline(3) as this avoids static limits
noted by gerhard@; ok dtucker@, djm@
Diffstat (limited to 'usr.bin/ssh/ssh-keyscan.c')
-rw-r--r--usr.bin/ssh/ssh-keyscan.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/usr.bin/ssh/ssh-keyscan.c b/usr.bin/ssh/ssh-keyscan.c
index 6f737ecaba0..329a582e6f4 100644
--- a/usr.bin/ssh/ssh-keyscan.c
+++ b/usr.bin/ssh/ssh-keyscan.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-keyscan.c,v 1.119 2018/03/02 21:40:15 jmc Exp $ */
+/* $OpenBSD: ssh-keyscan.c,v 1.120 2018/06/06 18:29:18 markus Exp $ */
/*
* Copyright 1995, 1996 by David Mazieres <dm@lcs.mit.edu>.
*
@@ -626,9 +626,9 @@ main(int argc, char **argv)
{
int debug_flag = 0, log_level = SYSLOG_LEVEL_INFO;
int opt, fopt_count = 0, j;
- char *tname, *cp, line[NI_MAXHOST];
+ char *tname, *cp, *line = NULL;
+ size_t linesize = 0;
FILE *fp;
- u_long linenum;
extern int optind;
extern char *optarg;
@@ -747,11 +747,8 @@ main(int argc, char **argv)
else if ((fp = fopen(argv[j], "r")) == NULL)
fatal("%s: %s: %s", __progname, argv[j],
strerror(errno));
- linenum = 0;
- while (read_keyfile_line(fp,
- argv[j] == NULL ? "(stdin)" : argv[j], line, sizeof(line),
- &linenum) != -1) {
+ while (getline(&line, &linesize, fp) != -1) {
/* Chomp off trailing whitespace and comments */
if ((cp = strchr(line, '#')) == NULL)
cp = line + strlen(line) - 1;
@@ -776,6 +773,7 @@ main(int argc, char **argv)
fclose(fp);
}
+ free(line);
while (optind < argc)
do_host(argv[optind++]);