diff options
Diffstat (limited to 'src/server/game/Tools/PlayerDump.cpp')
| -rw-r--r-- | src/server/game/Tools/PlayerDump.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/server/game/Tools/PlayerDump.cpp b/src/server/game/Tools/PlayerDump.cpp index 8f888f8fb85..92fa001fe46 100644 --- a/src/server/game/Tools/PlayerDump.cpp +++ b/src/server/game/Tools/PlayerDump.cpp @@ -352,6 +352,15 @@ bool PlayerDumpWriter::GetDump(uint32 guid, std::string &dump) DumpReturn PlayerDumpWriter::WriteDump(const std::string& file, uint32 guid) { + if (sWorld->getBoolConfig(CONFIG_PDUMP_NO_PATHS)) + if (strstr(file.c_str(), "\\") || strstr(file.c_str(), "/")) + return DUMP_FILE_OPEN_ERROR; + if (sWorld->getBoolConfig(CONFIG_PDUMP_NO_OVERWRITE)) + if (FILE* f = fopen(file.c_str(), "r")) + { + fclose(f); + return DUMP_FILE_OPEN_ERROR; + } FILE* fout = fopen(file.c_str(), "w"); if (!fout) return DUMP_FILE_OPEN_ERROR; |
