[Refactoring] Fix stack use after free in new async refactorings

Resolves rdar://73984220
This commit is contained in:
Ben Barham
2021-02-05 08:36:02 +10:00
parent e2bac38348
commit 783c177956
7 changed files with 4 additions and 14 deletions

View File

@@ -5249,7 +5249,8 @@ bool RefactoringActionConvertCallToAsyncAlternative::performChange() {
assert(CE &&
"Should not run performChange when refactoring is not applicable");
AsyncConversionStringBuilder Builder(SM, DiagEngine, AsyncHandlerDesc());
AsyncHandlerDesc TempDesc;
AsyncConversionStringBuilder Builder(SM, DiagEngine, TempDesc);
Builder.convertNode(CE);
if (DiagEngine.hadAnyError())
@@ -5281,7 +5282,8 @@ bool RefactoringActionConvertToAsync::performChange() {
assert(FD &&
"Should not run performChange when refactoring is not applicable");
AsyncConversionStringBuilder Builder(SM, DiagEngine, AsyncHandlerDesc());
AsyncHandlerDesc TempDesc;
AsyncConversionStringBuilder Builder(SM, DiagEngine, TempDesc);
Builder.convertFunction(FD);
if (DiagEngine.hadAnyError())