aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Tools/PlayerDump.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Tools/PlayerDump.cpp')
-rw-r--r--src/server/game/Tools/PlayerDump.cpp9
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;