summaryrefslogtreecommitdiffstats
path: root/src/sord.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sord.c')
-rw-r--r--src/sord.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/sord.c b/src/sord.c
index eac5087..2ffa414 100644
--- a/src/sord.c
+++ b/src/sord.c
@@ -424,7 +424,7 @@ sord_iter_get(const SordIter* iter, SordQuad id)
const SordNode*
sord_iter_get_node(const SordIter* iter, SordQuadIndex index)
{
- return ((SordNode**)zix_tree_get(iter->cur))[index];
+ return iter ? ((SordNode**)zix_tree_get(iter->cur))[index] : NULL;
}
bool
@@ -958,6 +958,10 @@ static SordNode*
sord_new_uri_counted(SordWorld* world, const uint8_t* str,
size_t n_bytes, size_t n_chars, bool copy)
{
+ if (!serd_uri_string_has_scheme(str)) {
+ return NULL; // Can't intern relative URIs
+ }
+
SordNode* node = sord_lookup_name(world, str);
if (node) {
if (!copy) {