diff options
author | glebius <glebius@FreeBSD.org> | 2005-03-28 10:59:19 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2005-03-28 10:59:19 +0000 |
commit | 7743cc27d9c0cf37f7827da8f37a97989be7b9a9 (patch) | |
tree | 67116cc01345135177b230d5ec0225e0474812f4 /usr.sbin/syslogd/syslogd.c | |
parent | 9ace7d5e0bcaed2fd9d8a6fe6f0c23441ebfcd1b (diff) | |
download | FreeBSD-src-7743cc27d9c0cf37f7827da8f37a97989be7b9a9.zip FreeBSD-src-7743cc27d9c0cf37f7827da8f37a97989be7b9a9.tar.gz |
Check that supplied facility is not bigger than LOG_NFACILITIES.
PR: bin/79260
Submitted by: Shuichi KITAGUCHI
Diffstat (limited to 'usr.sbin/syslogd/syslogd.c')
-rw-r--r-- | usr.sbin/syslogd/syslogd.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/usr.sbin/syslogd/syslogd.c b/usr.sbin/syslogd/syslogd.c index bfc4248..52f757b 100644 --- a/usr.sbin/syslogd/syslogd.c +++ b/usr.sbin/syslogd/syslogd.c @@ -916,6 +916,13 @@ logmsg(int pri, const char *msg, const char *from, int flags) fac = LOG_NFACILITIES; else fac = LOG_FAC(pri); + + /* Check maximum facility number. */ + if (fac > LOG_NFACILITIES) { + (void)sigsetmask(omask); + return; + } + prilev = LOG_PRI(pri); /* extract program name */ |