aboutsummaryrefslogtreecommitdiffstats
path: root/src/tools/clangbackend/source/clangcodemodelserver.h
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@qt.io>2019-07-05 11:26:49 +0200
committerNikolai Kosjar <nikolai.kosjar@qt.io>2019-07-09 14:21:38 +0000
commit5121c009f6163ff1f6d83e4416bb49e0abe7eaf8 (patch)
tree54b5413a2283728279bb66babd965b1d6eaf7947 /src/tools/clangbackend/source/clangcodemodelserver.h
parentcc2b8923dc41b1f525829888fc90be08d43fbdff (diff)
Clang: Fix use-after-free
...introduced with commit d52ac9a7084df220a5349468703c11cc1c0794c4 Clang: Fix unresolved #includes for ui_*.h headers ClangCodeModelServer::onJobFinished might take over ownership of the jobs object. This should be reflected in the JobFinishedCallback as otherwise we will continue in Jobs::onJobFinished() right into a use- after-free. Change-Id: I4b5cbdf781a8e66f45a743c451b4484bf922f720 Reviewed-by: Marco Bubke <marco.bubke@qt.io> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Diffstat (limited to 'src/tools/clangbackend/source/clangcodemodelserver.h')
-rw-r--r--src/tools/clangbackend/source/clangcodemodelserver.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/tools/clangbackend/source/clangcodemodelserver.h b/src/tools/clangbackend/source/clangcodemodelserver.h
index 14fefadcf2..471c27bd8d 100644
--- a/src/tools/clangbackend/source/clangcodemodelserver.h
+++ b/src/tools/clangbackend/source/clangcodemodelserver.h
@@ -83,13 +83,13 @@ private:
void processTimerForVisibleButNotCurrentDocuments();
void processSuspendResumeJobs(const std::vector<Document> &documents);
- void onJobFinished(const Jobs::RunningJob &jobRecord, IAsyncJob *job);
+ bool onJobFinished(const Jobs::RunningJob &jobRecord, IAsyncJob *job);
void categorizeFileContainers(const QVector<FileContainer> &fileContainers,
QVector<FileContainer> &toCreate,
DocumentResetInfos &toReset) const;
std::vector<Document> resetDocuments(const DocumentResetInfos &infos);
- void resetDocumentsWithUnresolvedIncludes(const std::vector<Document> &documents);
+ int resetDocumentsWithUnresolvedIncludes(const std::vector<Document> &documents);
void addAndRunUpdateJobs(std::vector<Document> documents);