]> granicus.if.org Git - clang/commitdiff
libclang: fix two memory leaks (PR26292)
authorHans Wennborg <hans@hanshq.net>
Mon, 11 Apr 2016 20:53:59 +0000 (20:53 +0000)
committerHans Wennborg <hans@hanshq.net>
Mon, 11 Apr 2016 20:53:59 +0000 (20:53 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@265994 91177308-0d34-0410-b5e6-96231b3b80d8

tools/libclang/CIndex.cpp

index ef93489710ad62f9c25c164da6243c744fc02aae..a1e21e650f67bbff31f3b76ad256d3ddff6dced3 100644 (file)
@@ -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") {