diff --git a/3rdparty/yaml-cpp/src/parse.cpp b/3rdparty/yaml-cpp/src/parse.cpp index 0b2ae4a4f6..a215e23f99 100644 --- a/3rdparty/yaml-cpp/src/parse.cpp +++ b/3rdparty/yaml-cpp/src/parse.cpp @@ -31,7 +31,7 @@ Node Load(std::istream& input) { Node LoadFile(const std::string& filename) { std::ifstream fin(filename.c_str()); - if (!fin) { + if (fin.bad()) { throw BadFile(); } return Load(fin); diff --git a/src/common/yamlwrapper.cpp b/src/common/yamlwrapper.cpp index a63532f4cb..f14bf513e2 100644 --- a/src/common/yamlwrapper.cpp +++ b/src/common/yamlwrapper.cpp @@ -47,6 +47,8 @@ yamlwrapper* yaml_load_file(const char* file_name) { node = YAML::LoadFile(file_name); if (!node.IsDefined()) return NULL; + if (node.IsNull()) + return NULL; } catch (YAML::ParserException &e) { ShowError("YAML Exception Caught: %s\n", e.what()); return NULL;