summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2014-03-30 09:08:07 +0000
committerChandler Carruth <chandlerc@gmail.com>2014-03-30 09:08:07 +0000
commit1f408b1474188dfd1d234ade9ec8e5cbec000459 (patch)
tree18873fc1a9e9b9ec46f32c66ecf0712388e5d83f
parentbcf0c5fd73070ad16bcf652d22999ddba71e863d (diff)
downloadllvm-1f408b1474188dfd1d234ade9ec8e5cbec000459.tar.gz
llvm-1f408b1474188dfd1d234ade9ec8e5cbec000459.tar.bz2
llvm-1f408b1474188dfd1d234ade9ec8e5cbec000459.tar.xz
[ARM64] Fix a heap-use-after-free spotted by ASan.
StringRef::lower() returns a std::string. Better yet, we can now stop thinking about what it returns and write 'auto'. It does the right thing. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205135 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/ARM64/AsmParser/ARM64AsmParser.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Target/ARM64/AsmParser/ARM64AsmParser.cpp b/lib/Target/ARM64/AsmParser/ARM64AsmParser.cpp
index e72189e766..705d192356 100644
--- a/lib/Target/ARM64/AsmParser/ARM64AsmParser.cpp
+++ b/lib/Target/ARM64/AsmParser/ARM64AsmParser.cpp
@@ -2653,7 +2653,7 @@ ARM64AsmParser::tryParseSystemRegister(OperandVector &Operands) {
if (Tok.isNot(AsmToken::Identifier))
return MatchOperand_NoMatch;
- StringRef ID = Tok.getString().lower();
+ auto ID = Tok.getString().lower();
ARM64SYS::SystemRegister Reg =
StringSwitch<ARM64SYS::SystemRegister>(ID)
.Case("spsr_el1", ARM64SYS::SPSR_svc)