diff --git a/llvm/lib/Support/YAMLParser.cpp b/llvm/lib/Support/YAMLParser.cpp --- a/llvm/lib/Support/YAMLParser.cpp +++ b/llvm/lib/Support/YAMLParser.cpp @@ -1423,7 +1423,7 @@ ++Column; } - if (Start == Current) { + if (Start + 1 == Current) { setError("Got empty alias or anchor", Start); return false; } diff --git a/llvm/unittests/Support/YAMLIOTest.cpp b/llvm/unittests/Support/YAMLIOTest.cpp --- a/llvm/unittests/Support/YAMLIOTest.cpp +++ b/llvm/unittests/Support/YAMLIOTest.cpp @@ -3101,3 +3101,15 @@ EXPECT_FALSE(yin2.setCurrentDocument()); EXPECT_TRUE(yin2.error()); } + +TEST(YAMLIO, TestEmptyAlias) { + Input yin("&"); + EXPECT_FALSE(yin.setCurrentDocument()); + EXPECT_TRUE(yin.error()); +} + +TEST(YAMLIO, TestEmptyAnchor) { + Input yin("*"); + EXPECT_FALSE(yin.setCurrentDocument()); + EXPECT_TRUE(yin.error()); +}