diff options
author | David Robillard <d@drobilla.net> | 2011-12-12 19:22:03 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-12-12 19:22:03 +0000 |
commit | 1db8909da02a99f9931aec6da4fcfb7e79281db1 (patch) | |
tree | 1b10d309e4612ef7734b32d3da07c81cded9e078 | |
parent | 55c061b95183f9dd2baa97a919cc5edb5d372d41 (diff) | |
download | sord-1db8909da02a99f9931aec6da4fcfb7e79281db1.tar.gz sord-1db8909da02a99f9931aec6da4fcfb7e79281db1.tar.bz2 sord-1db8909da02a99f9931aec6da4fcfb7e79281db1.zip |
Fix crashes caused by serd passing NULL to the statement callback.
git-svn-id: http://svn.drobilla.net/sord/trunk@181 3d64ff67-21c5-427c-a301-fe4f08042e5a
-rw-r--r-- | src/sord.c | 6 | ||||
-rw-r--r-- | src/syntax.c | 1 |
2 files changed, 5 insertions, 2 deletions
@@ -1009,6 +1009,10 @@ sord_node_from_serd_node(SordWorld* world, const SerdNode* datatype, const SerdNode* lang) { + if (!sn) { + return NULL; + } + SordNode* datatype_node = NULL; SordNode* ret = NULL; switch (sn->type) { @@ -1023,7 +1027,7 @@ sord_node_from_serd_node(SordWorld* world, sn->n_bytes, sn->n_chars, sn->flags, - (const char*)lang->buf); + lang ? (const char*)lang->buf : NULL); sord_node_free(world, datatype_node); return ret; case SERD_URI: diff --git a/src/syntax.c b/src/syntax.c index eb9600f..e69607f 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -70,7 +70,6 @@ event_statement(void* handle, SordNode* g = NULL; if (state->graph_uri_node) { - assert(graph->type == SERD_NOTHING); g = sord_node_copy(state->graph_uri_node); } else { g = (graph && graph->buf) |