aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/node.c4
-rw-r--r--tests/serd_test.c5
2 files changed, 9 insertions, 0 deletions
diff --git a/src/node.c b/src/node.c
index 4191dfe4..1644b6fc 100644
--- a/src/node.c
+++ b/src/node.c
@@ -26,6 +26,10 @@ SERD_API
SerdNode
serd_node_from_string(SerdType type, const uint8_t* buf)
{
+ if (!buf) {
+ return SERD_NODE_NULL;
+ }
+
uint32_t flags = 0;
size_t buf_n_bytes = 0;
const size_t buf_n_chars = serd_strlen(buf, &buf_n_bytes, &flags);
diff --git a/tests/serd_test.c b/tests/serd_test.c
index 11f32ed8..50e761a5 100644
--- a/tests/serd_test.c
+++ b/tests/serd_test.c
@@ -372,6 +372,11 @@ main()
node.buf, node.n_bytes, node.n_chars, node.flags, node.type);
}
+ node = serd_node_from_string(SERD_URI, NULL);
+ if (!serd_node_equals(&node, &SERD_NODE_NULL)) {
+ return failure("Creating node from NULL string failed\n");
+ }
+
// Test serd_node_new_uri_from_string
SerdURI base_uri;