From 26cfe2446f25e4f55134fd050e9b283544ac5f77 Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Wed, 19 Aug 2015 12:39:29 +0200 Subject: [PATCH] Clang: Reset pointer to null in unsaved files Change-Id: I85243b6b041e639fb6313e2fb794a658ca456ea3 Reviewed-by: Nikolai Kosjar --- src/tools/clangbackend/ipcsource/unsavedfiles.cpp | 9 ++++++--- src/tools/clangbackend/ipcsource/unsavedfiles.h | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/tools/clangbackend/ipcsource/unsavedfiles.cpp b/src/tools/clangbackend/ipcsource/unsavedfiles.cpp index 90f9e2c796..9e9a522d52 100644 --- a/src/tools/clangbackend/ipcsource/unsavedfiles.cpp +++ b/src/tools/clangbackend/ipcsource/unsavedfiles.cpp @@ -53,7 +53,7 @@ UnsavedFilesData::UnsavedFilesData() UnsavedFilesData::~UnsavedFilesData() { - for (const CXUnsavedFile &cxUnsavedFile : cxUnsavedFiles) + for (CXUnsavedFile &cxUnsavedFile : cxUnsavedFiles) UnsavedFiles::deleteCXUnsavedFile(cxUnsavedFile); cxUnsavedFiles.clear(); @@ -99,7 +99,7 @@ void UnsavedFiles::remove(const QVector &fileContainers) void UnsavedFiles::clear() { - for (const CXUnsavedFile &cxUnsavedFile : d->cxUnsavedFiles) + for (CXUnsavedFile &cxUnsavedFile : d->cxUnsavedFiles) deleteCXUnsavedFile(cxUnsavedFile); d->cxUnsavedFiles.clear(); @@ -137,10 +137,13 @@ CXUnsavedFile UnsavedFiles::createCxUnsavedFile(const Utf8String &filePath, cons return CXUnsavedFile { cxUnsavedFilePath, cxUnsavedFileContent, ulong(fileContent.byteSize())}; } -void UnsavedFiles::deleteCXUnsavedFile(const CXUnsavedFile &cxUnsavedFile) +void UnsavedFiles::deleteCXUnsavedFile(CXUnsavedFile &cxUnsavedFile) { delete [] cxUnsavedFile.Contents; delete [] cxUnsavedFile.Filename; + cxUnsavedFile.Contents = nullptr; + cxUnsavedFile.Filename = nullptr; + cxUnsavedFile.Length = 0; } void UnsavedFiles::updateCXUnsavedFileWithFileContainer(const FileContainer &fileContainer) diff --git a/src/tools/clangbackend/ipcsource/unsavedfiles.h b/src/tools/clangbackend/ipcsource/unsavedfiles.h index 8a0a02a430..9104bc87b3 100644 --- a/src/tools/clangbackend/ipcsource/unsavedfiles.h +++ b/src/tools/clangbackend/ipcsource/unsavedfiles.h @@ -73,7 +73,7 @@ public: private: CXUnsavedFile createCxUnsavedFile(const Utf8String &filePath, const Utf8String &fileContent); - static void deleteCXUnsavedFile(const CXUnsavedFile &cxUnsavedFile); + static void deleteCXUnsavedFile(CXUnsavedFile &cxUnsavedFile); void updateCXUnsavedFileWithFileContainer(const FileContainer &fileContainer); void removeCXUnsavedFile(const FileContainer &fileContainer); void addOrUpdateCXUnsavedFile(const FileContainer &fileContainer); -- GitLab