commit: fa39271d7a979ec8c1cf9c694d256456528baaf8
Author: Doug Freed <dwfreed <AT> mtu <DOT> edu>
AuthorDate: Sun Jul 24 02:27:53 2016 +0000
Commit: William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Sun Jul 31 18:50:05 2016 +0000
URL: https://gitweb.gentoo.org/proj/openrc.git/commit/?id=fa39271d
rc-logger: refuse to cat TMPLOG into itself
This prevents an infinite loop in case somebody decides to set
rc_log_path to match TMPLOG.
src/rc/rc-logger.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/rc/rc-logger.c b/src/rc/rc-logger.c
index 06f3398..b4bd0ea 100644
--- a/src/rc/rc-logger.c
+++ b/src/rc/rc-logger.c
@@ -247,6 +247,10 @@ rc_logger_open(const char *level)
logfile = rc_conf_value("rc_log_path");
if (logfile == NULL)
logfile = DEFAULTLOG;
+ if (!strcmp(logfile, TMPLOG)) {
+ eerror("Cowardly refusing to concatenate a logfile into
itself.");
+ eerrorx("Please change rc_log_path to something other
than %s to get rid of this message", TMPLOG);
+ }
if ((plog = fopen(logfile, "ae"))) {
if ((log = fopen(TMPLOG, "re"))) {