diff options
author | Shauren <shauren.trinity@gmail.com> | 2012-08-09 14:31:09 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2012-08-09 14:31:09 +0200 |
commit | ca0a54f3572e91f75f880ff9b8e74c450f7d9c36 (patch) | |
tree | 72076263e5b5ebdfa0e53b960b466d7793f082d4 /src | |
parent | 78fdeca8518506328209654d1fa503a7cd649ff1 (diff) |
Core/Logging: Fixed a possible crash with dynamic log file names
Diffstat (limited to 'src')
-rw-r--r-- | src/server/shared/Logging/Appender.h | 2 | ||||
-rw-r--r-- | src/server/shared/Logging/AppenderFile.cpp | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/server/shared/Logging/Appender.h b/src/server/shared/Logging/Appender.h index 7d7375a1edb..332edbf170c 100644 --- a/src/server/shared/Logging/Appender.h +++ b/src/server/shared/Logging/Appender.h @@ -139,7 +139,7 @@ class Appender static const char* getLogFilterTypeString(LogFilterType type); private: - virtual void _write(LogMessage& /*message*/) {}; + virtual void _write(LogMessage& /*message*/) = 0; uint8 id; std::string name; diff --git a/src/server/shared/Logging/AppenderFile.cpp b/src/server/shared/Logging/AppenderFile.cpp index d47a7c4028d..01a2f34baa7 100644 --- a/src/server/shared/Logging/AppenderFile.cpp +++ b/src/server/shared/Logging/AppenderFile.cpp @@ -26,7 +26,7 @@ AppenderFile::AppenderFile(uint8 id, std::string const& name, LogLevel level, co { dynamicName = std::string::npos != filename.find("%u"); backup = _flags & APPENDER_FLAGS_MAKE_FILE_BACKUP; - + logfile = !dynamicName ? OpenFile(_filename, _mode, backup) : NULL; } @@ -54,7 +54,10 @@ void AppenderFile::_write(LogMessage& message) fflush(logfile); if (dynamicName) + { fclose(logfile); + logfile = NULL; + } } } |