From e9948b4b05ca23cb95a6ca75ce4ee840e1fbda9b Mon Sep 17 00:00:00 2001 From: Arseny Kapoulkine Date: Sun, 2 Nov 2014 09:30:56 +0100 Subject: Fix undefined behavior while calling memcpy Calling memcpy(x, 0, 0) is technically undefined (although it should usually be a no-op). --- tests/test_dom_modify.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'tests/test_dom_modify.cpp') diff --git a/tests/test_dom_modify.cpp b/tests/test_dom_modify.cpp index 07fe6dc..45cf3ea 100644 --- a/tests/test_dom_modify.cpp +++ b/tests/test_dom_modify.cpp @@ -1091,6 +1091,19 @@ TEST_XML(dom_node_append_buffer_fragment, "") CHECK_NODE(doc, STR("1234")); } +TEST_XML(dom_node_append_buffer_empty, "") +{ + xml_node node = doc.child(STR("node")); + + CHECK(node.append_buffer("", 0).status == status_no_document_element); + CHECK(node.append_buffer("", 0, parse_fragment).status == status_ok); + + CHECK(node.append_buffer(0, 0).status == status_no_document_element); + CHECK(node.append_buffer(0, 0, parse_fragment).status == status_ok); + + CHECK_NODE(doc, STR("")); +} + TEST_XML(dom_node_prepend_move, "foo") { xml_node child = doc.child(STR("node")).child(STR("child")); -- cgit v1.2.3