There can be nullptrs here if the YAML fails to parse. Found by
clangd-fuzzer!
llvm-svn: 316770
if (Doc == YAMLStream.end())
return false;
- auto *Root = Doc->getRoot();
- if (!Root)
- return false;
-
- auto *Object = dyn_cast<llvm::yaml::MappingNode>(Root);
+ auto *Object = dyn_cast_or_null<llvm::yaml::MappingNode>(Doc->getRoot());
if (!Object)
return false;
llvm::yaml::MappingNode *Params = nullptr;
llvm::yaml::ScalarNode *Id = nullptr;
for (auto &NextKeyValue : *Object) {
- auto *KeyString = dyn_cast<llvm::yaml::ScalarNode>(NextKeyValue.getKey());
+ auto *KeyString =
+ dyn_cast_or_null<llvm::yaml::ScalarNode>(NextKeyValue.getKey());
if (!KeyString)
return false;