diff options
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | src/sord.c | 6 | ||||
-rw-r--r-- | wscript | 2 |
3 files changed, 7 insertions, 2 deletions
@@ -7,6 +7,7 @@ sord (UNRELEASED) unstable; urgency=low * Take advantage of interning in sord_node_equals() * Support compilation as C++ under MSVC++. * Add sord_iter_get_node() + * Refuse to intern relative URIs in sord_new_uri*() -- David Robillard <d@drobilla.net> (UNRELEASED) @@ -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) { @@ -8,7 +8,7 @@ from waflib.extras import autowaf as autowaf import waflib.Logs as Logs, waflib.Options as Options # Version of this package (even if built as a child) -SORD_VERSION = '0.6.0' +SORD_VERSION = '0.6.1' SORD_MAJOR_VERSION = '0' # Library version (UNIX style major, minor, micro) |