From d05dbaaecbd4bf7e1c0fd32d0fef34341b4067f6 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 6 Jul 2024 22:52:11 +0200 Subject: Core/Vmaps: Fixed use after free and deadlocks when loading a model file fails --- src/tools/vmap4_assembler/TileAssembler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/tools/vmap4_assembler/TileAssembler.cpp') 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; }); } -- cgit v1.2.3