From 1cbcfa75e89de3f27e61eb19209f2be654e08ac0 Mon Sep 17 00:00:00 2001 From: Nicholas Lawson <70027408+lawsonamzn@users.noreply.github.com> Date: Tue, 11 May 2021 10:40:31 -0700 Subject: [PATCH] Fixes a crash on mac in the SourceFileRelocatorTest (#688) Note that this test should crash on windows too but its a read-beyond-the-edge-of-array memory issue which could be intermittent. --- .../native/AssetManager/SourceFileRelocator.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/Code/Tools/AssetProcessor/native/AssetManager/SourceFileRelocator.cpp b/Code/Tools/AssetProcessor/native/AssetManager/SourceFileRelocator.cpp index a242c6377c..49c7ef7f20 100644 --- a/Code/Tools/AssetProcessor/native/AssetManager/SourceFileRelocator.cpp +++ b/Code/Tools/AssetProcessor/native/AssetManager/SourceFileRelocator.cpp @@ -190,9 +190,8 @@ Please note that only those seed files will get updated that are active for your void SourceFileRelocator::HandleMetaDataFiles(QStringList pathMatches, QHash& sourceIndexMap, const ScanFolderInfo* scanFolderInfo, SourceFileRelocationContainer& metadataFiles, bool excludeMetaDataFiles) const { QSet metaDataFileEntries; - for (QStringList::Iterator fileIter = pathMatches.begin(); fileIter != pathMatches.end();) + for (QString file : pathMatches) { - QString file = *fileIter; for (int idx = 0; idx < m_platformConfig->MetaDataFileTypesCount(); idx++) { QPair metaInfo = m_platformConfig->GetMetaDataFileTypeAt(idx); @@ -203,8 +202,7 @@ Please note that only those seed files will get updated that are active for your { AZ_TracePrintf(AssetProcessor::ConsoleChannel, "Metadata file %s will be ignored because --excludeMetadataFiles was specified in the command line.\n", file.toUtf8().constData()); - fileIter = pathMatches.erase(fileIter); - continue; + break; // don't check it against other metafile entries, we've already ascertained its a metafile. } else { @@ -263,8 +261,6 @@ Please note that only those seed files will get updated that are active for your } } } - - fileIter++; } }