diff options
-rw-r--r-- | llvm/lib/AsmParser/LLLexer.cpp | 7 | ||||
-rw-r--r-- | llvm/test/Assembler/invalid-name2.ll | bin | 0 -> 120 bytes |
2 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/AsmParser/LLLexer.cpp b/llvm/lib/AsmParser/LLLexer.cpp index cd7f09b8933..ca3c9e8b6f8 100644 --- a/llvm/lib/AsmParser/LLLexer.cpp +++ b/llvm/lib/AsmParser/LLLexer.cpp @@ -393,7 +393,12 @@ lltok::Kind LLLexer::LexQuote() { if (CurPtr[0] == ':') { ++CurPtr; - kind = lltok::LabelStr; + if (StringRef(StrVal).find_first_of(0) != StringRef::npos) { + Error("Null bytes are not allowed in names"); + kind = lltok::Error; + } else { + kind = lltok::LabelStr; + } } return kind; diff --git a/llvm/test/Assembler/invalid-name2.ll b/llvm/test/Assembler/invalid-name2.ll Binary files differnew file mode 100644 index 00000000000..384dee6777d --- /dev/null +++ b/llvm/test/Assembler/invalid-name2.ll |