r350680 - [libclang] Fix the mismatched delete operator for ExprEvalResult
Alex Lorenz via cfe-commits
cfe-commits at lists.llvm.org
Tue Jan 8 15:28:37 PST 2019
Author: arphaman
Date: Tue Jan 8 15:28:37 2019
New Revision: 350680
URL: http://llvm.org/viewvc/llvm-project?rev=350680&view=rev
Log:
[libclang] Fix the mismatched delete operator for ExprEvalResult
The '.stringVal' field in ExprEvalResult is allocated using new[],
but was freed using a regular delete. That caused memory leaks in
the test from r350666.
Modified:
cfe/trunk/tools/libclang/CIndex.cpp
Modified: cfe/trunk/tools/libclang/CIndex.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CIndex.cpp?rev=350680&r1=350679&r2=350680&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/CIndex.cpp (original)
+++ cfe/trunk/tools/libclang/CIndex.cpp Tue Jan 8 15:28:37 2019
@@ -3694,7 +3694,7 @@ struct ExprEvalResult {
~ExprEvalResult() {
if (EvalType != CXEval_UnExposed && EvalType != CXEval_Float &&
EvalType != CXEval_Int) {
- delete EvalData.stringVal;
+ delete[] EvalData.stringVal;
}
}
};
More information about the cfe-commits
mailing list