]> granicus.if.org Git - clang/commit
Don't leak the CXStoredDiagnostics returned by clang_codeCompleteGetDiagnostic()
authorNico Weber <nicolasweber@gmx.de>
Fri, 9 May 2014 22:33:11 +0000 (22:33 +0000)
committerNico Weber <nicolasweber@gmx.de>
Fri, 9 May 2014 22:33:11 +0000 (22:33 +0000)
commit3748941f2ea43eb81a4a8edf02abf7f83881fa89
tree4a95b3d5e2c5edde8a3bc9391dc5b0e69701f0ae
parentb8e405f9f3e00d9385239b0399b90b84d969e1e3
Don't leak the CXStoredDiagnostics returned by clang_codeCompleteGetDiagnostic()

r144269 changed clang_disposeDiagnostic() to be a no-op, but didn't update
code completion diagnostics.  Let CXCodeCompleteResults store all diagnostics
returned by clang_codeCompleteGetDiagnostic() and then free them up in
clang_disposeCodeCompleteResults().

Code completion diagnostics referred to data stored in CXCodeCompleteResults
before already, so it wasn't possible to refer to the results of
clang_codeCompleteGetDiagnostic() after clang_disposeCodeCompleteResults()
before this change already -- hence this should be a safe, backwards-compatible
change.

Leak found by LSan, fixes PR19690.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208454 91177308-0d34-0410-b5e6-96231b3b80d8
tools/libclang/CIndexCodeCompletion.cpp