aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/syslogd/syslogd.c
diff options
context:
space:
mode:
authorEnji Cooper <ngie@FreeBSD.org>2017-03-20 04:25:40 +0000
committerEnji Cooper <ngie@FreeBSD.org>2017-03-20 04:25:40 +0000
commit4863f2fc5507fa8a8dd917d35bc6b4c0f2fa193a (patch)
treecde7ea453d6745b50f95f5826c801a8dcfe9cc19 /usr.sbin/syslogd/syslogd.c
parentb49d92c2aa9d52d705e339012d736c90cb52dda6 (diff)
downloadsrc-4863f2fc5507fa8a8dd917d35bc6b4c0f2fa193a.tar.gz
src-4863f2fc5507fa8a8dd917d35bc6b4c0f2fa193a.zip
syslogd: don't leak `f` on failure in cfline(..)
Free `f` if an unknown priority or facility is parsed with the function. MFC after: 1 week Reported by: Coverity CID: 1368068 Sponsored by: Dell EMC Isilon
Notes
Notes: svn path=/head/; revision=315618
Diffstat (limited to 'usr.sbin/syslogd/syslogd.c')
-rw-r--r--usr.sbin/syslogd/syslogd.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/usr.sbin/syslogd/syslogd.c b/usr.sbin/syslogd/syslogd.c
index ff4fd6bf02a8..b28b151728a2 100644
--- a/usr.sbin/syslogd/syslogd.c
+++ b/usr.sbin/syslogd/syslogd.c
@@ -2117,6 +2117,7 @@ cfline(const char *line, const char *prog, const char *host)
(void)snprintf(ebuf, sizeof ebuf,
"unknown priority name \"%s\"", buf);
logerror(ebuf);
+ free(f);
return (NULL);
}
}
@@ -2147,6 +2148,7 @@ cfline(const char *line, const char *prog, const char *host)
"unknown facility name \"%s\"",
buf);
logerror(ebuf);
+ free(f);
return (NULL);
}
f->f_pmask[i >> 3] = pri;