aboutsummaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-07-06 22:52:11 +0200
committerOvahlord <dreadkiller@gmx.de>2024-07-06 22:59:34 +0200
commit120bea629ddf1bea2fae340f3422b8b6e477a709 (patch)
tree6740eb9b56a22c827803f29600331c5632c6e613 /src/tools
parent0fe73dc2b6527b7f0088ac310679d1c9e9c630ff (diff)
Core/Vmaps: Fixed use after free and deadlocks when loading a model file fails
(cherry picked from commit d05dbaaecbd4bf7e1c0fd32d0fef34341b4067f6)
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/mmaps_generator/PathGenerator.cpp2
-rw-r--r--src/tools/vmap4_assembler/TileAssembler.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/tools/mmaps_generator/PathGenerator.cpp b/src/tools/mmaps_generator/PathGenerator.cpp
index 803c9e653b4..4b9620bff1f 100644
--- a/src/tools/mmaps_generator/PathGenerator.cpp
+++ b/src/tools/mmaps_generator/PathGenerator.cpp
@@ -79,7 +79,7 @@ bool checkDirectories(bool debugOutput, std::vector<std::string>& dbcLocales)
}
dirFiles.clear();
- if (getDirContents(dirFiles, "vmaps", "*.vmtree") == LISTFILE_DIRECTORY_NOT_FOUND || dirFiles.empty())
+ if (getDirContents(dirFiles, "vmaps/0000", "*.vmtree") == LISTFILE_DIRECTORY_NOT_FOUND || dirFiles.empty())
{
printf("'vmaps' directory is empty or does not exist\n");
return false;
diff --git a/src/tools/vmap4_assembler/TileAssembler.cpp b/src/tools/vmap4_assembler/TileAssembler.cpp
index 162c1bad29e..2f96d3d4442 100644
--- a/src/tools/vmap4_assembler/TileAssembler.cpp
+++ b/src/tools/vmap4_assembler/TileAssembler.cpp
@@ -100,7 +100,6 @@ namespace VMAP
threadPool.PostWork([this, file = directoryEntry.path(), &abortThreads, &workerIndexGen, &spawnedModelFilesByThread, &mapsToProcess]
{
thread_local std::size_t workerIndex = workerIndexGen++;
- --mapsToProcess;
auto dirf = OpenFile(file, "rb");
if (!dirf)
@@ -127,6 +126,7 @@ namespace VMAP
return abortThreads();
spawnedModelFilesByThread[workerIndex].merge(data.SpawnedModelFiles);
+ --mapsToProcess;
});
}