diff options
author | Hans Wennborg <hans@hanshq.net> | 2016-04-11 20:53:59 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2016-04-11 20:53:59 +0000 |
commit | 6917b4ac5a0146ffc9e67805624fbf072f32b6d0 (patch) | |
tree | 56f28db13f59bd8d863bc291ef1bb00d9b213f72 /clang | |
parent | 4d5535a70a73c70b376ff2ab2b6fc53f4bafc762 (diff) | |
download | bcm5719-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.cpp | 5 |
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") { |