diff --git a/Add-the-support-to-parsing-a-null-value.patch b/Add-the-support-to-parsing-a-null-value.patch new file mode 100644 index 0000000000000000000000000000000000000000..e0be847f6bf522e061e8b6d6c47f6eb621424a35 --- /dev/null +++ b/Add-the-support-to-parsing-a-null-value.patch @@ -0,0 +1,38 @@ +diff --git a/include/yaml-cpp/node/impl.h b/include/yaml-cpp/node/impl.h +index 7a3deac..58ae529 100644 +--- a/include/yaml-cpp/node/impl.h ++++ b/include/yaml-cpp/node/impl.h +@@ -112,8 +112,10 @@ template + struct as_if { + explicit as_if(const Node& node_) : node(node_) {} + const Node& node; +- ++ + std::string operator()(const S& fallback) const { ++ if (node.Type() == NodeType::Null) ++ return "null"; + if (node.Type() != NodeType::Scalar) + return fallback; + return node.Scalar(); +@@ -142,6 +144,8 @@ struct as_if { + const Node& node; + + std::string operator()() const { ++ if (node.Type() == NodeType::Null) ++ return "null"; + if (node.Type() != NodeType::Scalar) + throw TypedBadConversion(node.Mark()); + return node.Scalar(); +diff --git a/test/integration/load_node_test.cpp b/test/integration/load_node_test.cpp +index 4f4f28e..1fb8415 100644 +--- a/test/integration/load_node_test.cpp ++++ b/test/integration/load_node_test.cpp +@@ -249,6 +249,8 @@ TEST(NodeTest, IncompleteJson) { + TEST(NodeTest, LoadTildeAsNull) { + Node node = Load("~"); + ASSERT_TRUE(node.IsNull()); ++ EXPECT_EQ(node.as(), "null"); ++ EXPECT_EQ(node.as("~"), "null"); + } + + TEST(NodeTest, LoadTagWithParenthesis) { diff --git a/yaml-cpp.spec b/yaml-cpp.spec index f1f1a62d629c656af06b4548d9a7bcd9b4bb0d4a..5a4033bbf157bd34518d60a8fa897db181ab1d97 100755 --- a/yaml-cpp.spec +++ b/yaml-cpp.spec @@ -1,11 +1,12 @@ Name: yaml-cpp Version: 0.6.3 -Release: 1 +Release: 2 Summary: A YAML parser and emitter in C++. License: MIT URL: https://github.com/jbeder/yaml-cpp Source0: https://github.com/jbeder/yaml-cpp/archive/%{name}-%{version}.tar.gz Patch0001: CVE-2017-5950.patch +Patch0002: Add-the-support-to-parsing-a-null-value.patch BuildRequires: cmake gcc gcc-c++ %description @@ -68,5 +69,8 @@ cd - %changelog -* Mon Jan 6 2020 Senlin Xia - 0.6.3-1 +* Fri Jun 14 2024 xu_ping <707078654@qq.com> - 0.6.3-2 +- Add the support to parsing a null value. + +* Mon Jan 6 2020 Senlin Xia - 0.6.3-1 - Package init