diff options
-rw-r--r-- | NEWS | 3 | ||||
-rw-r--r-- | src/n3.c | 5 | ||||
-rw-r--r-- | test/extra/bad/bad-predicate-in-blank.ttl | 1 | ||||
-rw-r--r-- | test/extra/bad/manifest.ttl | 6 |
4 files changed, 12 insertions, 3 deletions
@@ -1,6 +1,7 @@ serd (0.32.5) unstable; urgency=medium * Drop graphs when writing Turtle output + * Fix handling of bad predicates in anonymous blank nodes * Fix handling of some invalid EOF cases in lax mode * Fix invalid characters in error messages * Fix reading numbers with no space before the final dot @@ -9,7 +10,7 @@ serd (0.32.5) unstable; urgency=medium * Remove project and version number from man page OS field * Write a blank line between statements and Turtle/TriG directives - -- David Robillard <d@drobilla.net> Fri, 11 Apr 2025 16:16:54 +0000 + -- David Robillard <d@drobilla.net> Thu, 26 Jun 2025 03:48:18 +0000 serd (0.32.4) stable; urgency=medium @@ -925,6 +925,7 @@ read_verb(SerdReader* const reader, Ref* const dest) if (st) { pop_node(reader, p); + *dest = 0; return r_err(reader, st, "bad verb\n"); } @@ -1314,8 +1315,8 @@ read_collection(SerdReader* const reader, ReadContext ctx, Ref* const dest) // _:node rdf:rest _:rest *ctx.flags |= SERD_LIST_CONT; ctx.predicate = reader->rdf_rest; - if ((st = - emit_statement(reader, ctx, (end ? reader->rdf_nil : rest), 0, 0))) { + st = emit_statement(reader, ctx, (end ? reader->rdf_nil : rest), 0, 0); + if (st) { break; } diff --git a/test/extra/bad/bad-predicate-in-blank.ttl b/test/extra/bad/bad-predicate-in-blank.ttl new file mode 100644 index 00000000..e4200f15 --- /dev/null +++ b/test/extra/bad/bad-predicate-in-blank.ttl @@ -0,0 +1 @@ +<a> <b> [ ERRORHERE <c> ] diff --git a/test/extra/bad/manifest.ttl b/test/extra/bad/manifest.ttl index a4bb4b4f..acadde28 100644 --- a/test/extra/bad/manifest.ttl +++ b/test/extra/bad/manifest.ttl @@ -84,6 +84,7 @@ <#bad-object2> <#bad-paths> <#bad-pn-escape> + <#bad-predicate-in-blank> <#bad-prefix> <#bad-prefix-dot> <#bad-prefix-missing-colon> @@ -494,6 +495,11 @@ mf:action <bad-pn-escape.ttl> ; mf:name "bad-pn-escape" . +<#bad-predicate-in-blank> + a rdft:TestTurtleNegativeSyntax ; + mf:action <bad-predicate-in-blank.ttl> ; + mf:name "bad-predicate-in-blank" . + <#bad-prefix> a rdft:TestTurtleNegativeSyntax ; mf:action <bad-prefix.ttl> ; |