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 /clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp | |
parent | 6db96c9ecc781c742f546d2863632d44e9c9b435 (diff) | |
download | llvm-d2616cc3926ec0ac73ec547e04b64e045035bd3c.zip llvm-d2616cc3926ec0ac73ec547e04b64e045035bd3c.tar.gz llvm-d2616cc3926ec0ac73ec547e04b64e045035bd3c.tar.bz2 |
[analyzer] Fix use after scope after #123003 (#128372)
In #123003 make_first_range was applied to temporarily.
Diffstat (limited to 'clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp')
-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 48fa0eb..3aafb53 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: |