diff options
| author | Vitaly Buka <vitalybuka@google.com> | 2025-02-22 13:33:15 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-22 13:33:15 -0800 |
| commit | d2616cc3926ec0ac73ec547e04b64e045035bd3c (patch) | |
| tree | 21945b1126f02a4b92ced3dc21a0e68dc6ad780c | |
| parent | 6db96c9ecc781c742f546d2863632d44e9c9b435 (diff) | |
[analyzer] Fix use after scope after #123003 (#128372)
In #123003 make_first_range was applied to temporarily.
| -rw-r--r-- | clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp index 48fa0ebbfc60..3aafb5384b3a 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: |
