LLVM's YAML parser returns null when it encounters a malformed node, but parseDependencyFile (in DependencyFile.cpp) isn't checking for this. We should fix this so that a malformed "swiftdeps" file doesn't result in crashes.
This applies to all uses of the LLVM YAML parser, really:
- OutputFileMap::parse in OutputFileMap.cpp
- populateOutOfDateMap in Driver.cpp
- YamlGroupInputParser in Serialization.cpp already seems to be doing this correctly.
- APIDiffItemStore and SILPassPipelinePlan::getPassPipelineFromFile don't really have to care about malformed input.
Tests for these APIs can go into the unittests/Driver/ folder.