summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2016-04-11 20:53:59 +0000
committerHans Wennborg <hans@hanshq.net>2016-04-11 20:53:59 +0000
commit6917b4ac5a0146ffc9e67805624fbf072f32b6d0 (patch)
tree56f28db13f59bd8d863bc291ef1bb00d9b213f72 /clang
parent4d5535a70a73c70b376ff2ab2b6fc53f4bafc762 (diff)
downloadbcm5719-llvm-6917b4ac5a0146ffc9e67805624fbf072f32b6d0.tar.gz
bcm5719-llvm-6917b4ac5a0146ffc9e67805624fbf072f32b6d0.zip
libclang: fix two memory leaks (PR26292)
llvm-svn: 265994
Diffstat (limited to 'clang')
-rw-r--r--clang/tools/libclang/CIndex.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp
index ef93489710a..a1e21e650f6 100644
--- a/clang/tools/libclang/CIndex.cpp
+++ b/clang/tools/libclang/CIndex.cpp
@@ -3571,12 +3571,13 @@ static const ExprEvalResult* evaluateExpr(Expr *expr, CXCursor C) {
rettype = callExpr->getCallReturnType(ctx);
if (rettype->isVectorType() || callExpr->getNumArgs() > 1) {
+ clang_EvalResult_dispose((CXEvalResult *)result);
return nullptr;
}
if (rettype->isIntegralType(ctx) || rettype->isRealFloatingType()) {
if(callExpr->getNumArgs() == 1 &&
- !callExpr->getArg(0)->getType()->isIntegralType(ctx)){
-
+ !callExpr->getArg(0)->getType()->isIntegralType(ctx)) {
+ clang_EvalResult_dispose((CXEvalResult *)result);
return nullptr;
}
} else if(rettype.getAsString() == "CFStringRef") {
OpenPOWER on IntegriCloud