[clang] [analyzer] Fix use after scope after #123003 (PR #128372)
via cfe-commits
cfe-commits at lists.llvm.org
Sat Feb 22 13:35:21 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: Vitaly Buka (vitalybuka)
<details>
<summary>Changes</summary>
In #<!-- -->123003 make_first_range was applied to temporarily.
---
Full diff: https://github.com/llvm/llvm-project/pull/128372.diff
1 Files Affected:
- (modified) clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp (+2-2)
``````````diff
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:
``````````
</details>
https://github.com/llvm/llvm-project/pull/128372
More information about the cfe-commits
mailing list