diff options
author | ae <ae@FreeBSD.org> | 2014-12-19 13:22:02 +0000 |
---|---|---|
committer | ae <ae@FreeBSD.org> | 2014-12-19 13:22:02 +0000 |
commit | 98ddab22ac7576a562b8f17dddc00faa1c5d9a19 (patch) | |
tree | f5ef29789c72561a4f347dfa65b0a2a489c6f947 | |
parent | 492a1d38b56fd9795afa90eb289407c047cd6000 (diff) | |
download | FreeBSD-src-98ddab22ac7576a562b8f17dddc00faa1c5d9a19.zip FreeBSD-src-98ddab22ac7576a562b8f17dddc00faa1c5d9a19.tar.gz |
MFC r275729:
Increase the buffer size to keep the list of programm names when
parsing programm specification. It is safe to not check out of bounds
access, because !isprint(p[i]) check will stop reading, when '\0'
character will be read from the input string.
Sponsored by: Yandex LLC
-rw-r--r-- | usr.sbin/syslogd/syslogd.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.sbin/syslogd/syslogd.c b/usr.sbin/syslogd/syslogd.c index 60c74d1..d497fe1 100644 --- a/usr.sbin/syslogd/syslogd.c +++ b/usr.sbin/syslogd/syslogd.c @@ -1542,7 +1542,7 @@ init(int signo) struct filed *f, *next, **nextp; char *p; char cline[LINE_MAX]; - char prog[NAME_MAX+1]; + char prog[LINE_MAX]; char host[MAXHOSTNAMELEN]; char oldLocalHostName[MAXHOSTNAMELEN]; char hostMsg[2*MAXHOSTNAMELEN+40]; @@ -1664,7 +1664,7 @@ init(int signo) (void)strlcpy(prog, "*", sizeof(prog)); continue; } - for (i = 0; i < NAME_MAX; i++) { + for (i = 0; i < LINE_MAX - 1; i++) { if (!isprint(p[i]) || isspace(p[i])) break; prog[i] = p[i]; |