Index: lib/ObjectYAML/ObjectYAML.cpp =================================================================== --- lib/ObjectYAML/ObjectYAML.cpp +++ lib/ObjectYAML/ObjectYAML.cpp @@ -33,6 +33,10 @@ MappingTraits::mapping(IO, *ObjectFile.FatMachO); } else { + // Nothing to parse, return. + if (!((Input &)IO).getCurrentNode()) + return; + if (IO.mapTag("!ELF")) { ObjectFile.Elf.reset(new ELFYAML::Object()); MappingTraits::mapping(IO, *ObjectFile.Elf); Index: test/Object/yaml2obj-invalid.yaml =================================================================== --- test/Object/yaml2obj-invalid.yaml +++ test/Object/yaml2obj-invalid.yaml @@ -0,0 +1,2 @@ +# RUN: not yaml2obj %s 2>&1 | FileCheck %s +# CHECK: Unknown document type!