diff options
author | Doug Freed <dwfreed@mtu.edu> | 2016-07-24 02:27:53 +0000 |
---|---|---|
committer | Doug Freed <dwfreed@mtu.edu> | 2016-07-24 02:27:53 +0000 |
commit | 3adb8fb389caaafbed1be13c5ac4d96214c8eed3 (patch) | |
tree | df33bc43d5eef566eccdd8c926f345fe1570f3a1 /src/rc | |
parent | 8927a37fb790e718c956376242a532ab9d1755e7 (diff) |
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.
Diffstat (limited to 'src/rc')
-rw-r--r-- | src/rc/rc-logger.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/rc/rc-logger.c b/src/rc/rc-logger.c index 06f33980..b4bd0eae 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"))) { |