r265994 - libclang: fix two memory leaks (PR26292)

Hans Wennborg via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 11 13:54:00 PDT 2016


Author: hans
Date: Mon Apr 11 15:53:59 2016
New Revision: 265994

URL: http://llvm.org/viewvc/llvm-project?rev=265994&view=rev
Log:
libclang: fix two memory leaks (PR26292)

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=265994&r1=265993&r2=265994&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/CIndex.cpp (original)
+++ cfe/trunk/tools/libclang/CIndex.cpp Mon Apr 11 15:53:59 2016
@@ -3571,12 +3571,13 @@ static const ExprEvalResult* evaluateExp
       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") {




More information about the cfe-commits mailing list