aboutsummaryrefslogtreecommitdiffstats
path: root/net/rinetd
diff options
context:
space:
mode:
authorgarga <garga@FreeBSD.org>2011-11-19 22:31:23 +0800
committergarga <garga@FreeBSD.org>2011-11-19 22:31:23 +0800
commit75f5a5cd27a20ff5884b03245bf461e813b071c8 (patch)
tree1f0c5f9dd4af48ac8046ec261b2592a8eb1da86b /net/rinetd
parentf2045e522613c452c0c04c09c8c4160faad3a83e (diff)
downloadfreebsd-ports-gnome-75f5a5cd27a20ff5884b03245bf461e813b071c8.tar.gz
freebsd-ports-gnome-75f5a5cd27a20ff5884b03245bf461e813b071c8.tar.zst
freebsd-ports-gnome-75f5a5cd27a20ff5884b03245bf461e813b071c8.zip
rinetd fails to close the configuration file (fopen twice, fclose only once)
when reading its configuration. Therefore on every configuration reload (through SIGHUP) one file descriptor is lost. In an environment where this is done frequently (e.g. to re-lookup DNS names) the system will run out of file descriptors soon (kern.maxfiles) until rinetd crashes. PR: ports/162673 Submitted by: Michael Gmelin <freebsd@grem.de> Feature safe: yes
Diffstat (limited to 'net/rinetd')
-rw-r--r--net/rinetd/Makefile2
-rw-r--r--net/rinetd/files/patch-rinetd.c8
2 files changed, 9 insertions, 1 deletions
diff --git a/net/rinetd/Makefile b/net/rinetd/Makefile
index 91d7b94db700..ba63e73ff669 100644
--- a/net/rinetd/Makefile
+++ b/net/rinetd/Makefile
@@ -7,7 +7,7 @@
PORTNAME= rinetd
PORTVERSION= 0.62
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= net
MASTER_SITES= http://www.boutell.com/rinetd/http/ \
${MASTER_SITE_GENTOO}
diff --git a/net/rinetd/files/patch-rinetd.c b/net/rinetd/files/patch-rinetd.c
index c7797d5978ce..fe942d0093de 100644
--- a/net/rinetd/files/patch-rinetd.c
+++ b/net/rinetd/files/patch-rinetd.c
@@ -8,3 +8,11 @@
initArrays();
readConfiguration();
RegisterPID();
+@@ -646,6 +646,7 @@
+ }
+ }
+ }
++ fclose(in);
+ /* Open the log file */
+ if (logFile) {
+ fclose(logFile);