mirror of
https://github.com/PowerShell/openssh-portable.git
synced 2025-07-28 16:24:39 +02:00
upstream commit
better match sshd config parser behaviour: fatal() if line is overlong, increase line buffer to match sshd's; bz#2651 reported by Don Fong; ok dtucker@ Upstream-ID: b175ae7e0ba403833f1ee566edf10f67443ccd18
This commit is contained in:
parent
db2597207e
commit
61b8ef6a66
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: readconf.c,v 1.269 2017/03/10 03:24:48 dtucker Exp $ */
|
/* $OpenBSD: readconf.c,v 1.270 2017/03/10 04:27:32 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
|
||||||
@ -1720,7 +1720,7 @@ read_config_file_depth(const char *filename, struct passwd *pw,
|
|||||||
int flags, int *activep, int depth)
|
int flags, int *activep, int depth)
|
||||||
{
|
{
|
||||||
FILE *f;
|
FILE *f;
|
||||||
char line[1024];
|
char line[4096];
|
||||||
int linenum;
|
int linenum;
|
||||||
int bad_options = 0;
|
int bad_options = 0;
|
||||||
|
|
||||||
@ -1750,6 +1750,8 @@ read_config_file_depth(const char *filename, struct passwd *pw,
|
|||||||
while (fgets(line, sizeof(line), f)) {
|
while (fgets(line, sizeof(line), f)) {
|
||||||
/* Update line number counter. */
|
/* Update line number counter. */
|
||||||
linenum++;
|
linenum++;
|
||||||
|
if (strlen(line) == sizeof(line) - 1)
|
||||||
|
fatal("%s line %d too long", filename, linenum);
|
||||||
if (process_config_line_depth(options, pw, host, original_host,
|
if (process_config_line_depth(options, pw, host, original_host,
|
||||||
line, filename, linenum, activep, flags, depth) != 0)
|
line, filename, linenum, activep, flags, depth) != 0)
|
||||||
bad_options++;
|
bad_options++;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user