svn commit: r356204 - head/usr.sbin/inetd
Kyle Evans
kevans at FreeBSD.org
Mon Dec 30 15:54:37 UTC 2019
Author: kevans
Date: Mon Dec 30 15:54:36 2019
New Revision: 356204
URL: https://svnweb.freebsd.org/changeset/base/356204
Log:
inetd: don't leak `policy` on return
sep->se_policy gets a strdup'd version of policy, so we don't need it to
stick around afterwards.
While here, remove a couple of NULL checks prior to free(policy).
CID: 1006865
MFC after: 3 days
Modified:
head/usr.sbin/inetd/inetd.c
Modified: head/usr.sbin/inetd/inetd.c
==============================================================================
--- head/usr.sbin/inetd/inetd.c Mon Dec 30 14:38:06 2019 (r356203)
+++ head/usr.sbin/inetd/inetd.c Mon Dec 30 15:54:36 2019 (r356204)
@@ -1629,12 +1629,10 @@ more:
for (p = cp + 2; p && *p && isspace(*p); p++)
;
if (*p == '\0') {
- if (policy)
- free(policy);
+ free(policy);
policy = NULL;
} else if (ipsec_get_policylen(p) >= 0) {
- if (policy)
- free(policy);
+ free(policy);
policy = newstr(p);
} else {
syslog(LOG_ERR,
@@ -1969,6 +1967,7 @@ more:
LIST_INIT(&sep->se_conn[i]);
#ifdef IPSEC
sep->se_policy = policy ? newstr(policy) : NULL;
+ free(policy);
#endif
return (sep);
}
More information about the svn-src-all
mailing list