fix use-after-free introduced in 8b76b44e46

ASan catches this easily enough.
This commit is contained in:
Augie Fackler
2023-08-02 14:37:32 -04:00
parent 11b7ce26f2
commit f4de606ef2

View File

@@ -606,7 +606,7 @@ DeclarationFragments
DeclarationFragmentsBuilder::getFragmentsForSpecialCXXMethod(
const CXXMethodDecl *Method) {
DeclarationFragments Fragments;
StringRef Name;
std::string Name;
if (isa<CXXConstructorDecl>(Method)) {
auto *Constructor = dyn_cast<CXXConstructorDecl>(Method);
Name = cast<CXXRecordDecl>(Constructor->getDeclContext())->getName();
@@ -614,7 +614,7 @@ DeclarationFragmentsBuilder::getFragmentsForSpecialCXXMethod(
Fragments.append("explicit", DeclarationFragments::FragmentKind::Keyword)
.appendSpace();
} else if (isa<CXXDestructorDecl>(Method))
Name = StringRef(Method->getNameAsString());
Name = Method->getNameAsString();
DeclarationFragments After;
Fragments.append(Name, DeclarationFragments::FragmentKind::Identifier)