mirror of
https://github.com/intel/llvm.git
synced 2026-01-20 10:58:11 +08:00
[dsymutil] Fix stack-use-after-scope
The lambda is taking the stack-allocated Verify boolean by reference and it would go out of scope on the next iteration. Moving it out of the loop should fix the issue. Fixes https://bugs.llvm.org/show_bug.cgi?id=43549 llvm-svn: 373683
This commit is contained in:
@@ -520,9 +520,10 @@ int main(int argc, char **argv) {
|
||||
|
||||
// If there is more than one link to execute, we need to generate
|
||||
// temporary files.
|
||||
bool NeedsTempFiles =
|
||||
const bool NeedsTempFiles =
|
||||
!Options.DumpDebugMap && (Options.OutputFile != "-") &&
|
||||
(DebugMapPtrsOrErr->size() != 1 || Options.LinkOpts.Update);
|
||||
const bool Verify = Options.Verify && !Options.LinkOpts.NoOutput;
|
||||
|
||||
SmallVector<MachOUtils::ArchAndFile, 4> TempFiles;
|
||||
std::atomic_char AllOK(1);
|
||||
@@ -577,7 +578,6 @@ int main(int argc, char **argv) {
|
||||
}
|
||||
}
|
||||
|
||||
const bool Verify = Options.Verify && !Options.LinkOpts.NoOutput;
|
||||
auto LinkLambda = [&, OutputFile](std::shared_ptr<raw_fd_ostream> Stream,
|
||||
LinkOptions Options) {
|
||||
AllOK.fetch_and(
|
||||
|
||||
Reference in New Issue
Block a user