[clang] d2616cc - [analyzer] Fix use after scope after #123003 (#128372)
via cfe-commits
cfe-commits at lists.llvm.org
Sat Feb 22 13:33:18 PST 2025
Author: Vitaly Buka
Date: 2025-02-22T13:33:15-08:00
New Revision: d2616cc3926ec0ac73ec547e04b64e045035bd3c
URL: https://github.com/llvm/llvm-project/commit/d2616cc3926ec0ac73ec547e04b64e045035bd3c
DIFF: https://github.com/llvm/llvm-project/commit/d2616cc3926ec0ac73ec547e04b64e045035bd3c.diff
LOG: [analyzer] Fix use after scope after #123003 (#128372)
In #123003 make_first_range was applied to temporarily.
Added:
Modified:
clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
Removed:
################################################################################
diff --git a/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
index 48fa0ebbfc609..3aafb5384b3a6 100644
--- a/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
+++ b/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
@@ -203,8 +203,8 @@ void StackAddrEscapeChecker::checkAsyncExecutedBlockCaptures(
// a variable of the type "dispatch_semaphore_t".
if (isSemaphoreCaptured(*B.getDecl()))
return;
- for (const MemRegion *Region :
- llvm::make_first_range(getCapturedStackRegions(B, C))) {
+ auto Regions = getCapturedStackRegions(B, C);
+ for (const MemRegion *Region : llvm::make_first_range(Regions)) {
// The block passed to dispatch_async may capture another block
// created on the stack. However, there is no leak in this situaton,
// no matter if ARC or no ARC is enabled:
More information about the cfe-commits
mailing list