summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/ToolChain.cpp
diff options
context:
space:
mode:
authorJonas Hahnfeld <hahnjo@hahnjo.de>2017-08-14 07:44:05 +0000
committerJonas Hahnfeld <hahnjo@hahnjo.de>2017-08-14 07:44:05 +0000
commit21b60edb053cabc80492d27740ff1786581102f6 (patch)
treedc45b34533c7feff8270677ba9de3fed31e0d310 /clang/lib/Driver/ToolChain.cpp
parent37c7b08710be264a216bf474dc5118df5e86ea40 (diff)
downloadbcm5719-llvm-21b60edb053cabc80492d27740ff1786581102f6.tar.gz
bcm5719-llvm-21b60edb053cabc80492d27740ff1786581102f6.zip
Fix memory leak in ToolChain::TranslateOpenMPTargetArgs
rL310433 introduced a code path where DAL is not returned and must be freed. This change allows to run openmp-offload.c when Clang is built with ASan. llvm-svn: 310817
Diffstat (limited to 'clang/lib/Driver/ToolChain.cpp')
-rw-r--r--clang/lib/Driver/ToolChain.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp
index c7c377971e5..0476d156f56 100644
--- a/clang/lib/Driver/ToolChain.cpp
+++ b/clang/lib/Driver/ToolChain.cpp
@@ -859,7 +859,11 @@ ToolChain::TranslateOpenMPTargetArgs(const llvm::opt::DerivedArgList &Args,
NewArgAdded = true;
}
- return NewArgAdded ? DAL : nullptr;
+ if (NewArgAdded) {
+ return DAL;
+ } else {
+ delete DAL;
+ }
}
return nullptr;
OpenPOWER on IntegriCloud