diff options
-rw-r--r-- | src/n3.c | 3 | ||||
-rw-r--r-- | tests/bad/bad-dot-in-collection.ttl | 1 | ||||
-rw-r--r-- | tests/bad/manifest.ttl | 6 |
3 files changed, 9 insertions, 1 deletions
@@ -1193,7 +1193,8 @@ end_collection(SerdReader* reader, ReadContext ctx, Ref n1, Ref n2, SerdStatus s pop_node(reader, n1); *ctx.flags &= ~(unsigned)SERD_LIST_CONT; if (!st) { - eat_byte_safe(reader, ')'); + return (eat_byte_check(reader, ')') == ')') ? SERD_SUCCESS + : SERD_ERR_BAD_SYNTAX; } return st; } diff --git a/tests/bad/bad-dot-in-collection.ttl b/tests/bad/bad-dot-in-collection.ttl new file mode 100644 index 00000000..d2d35bc2 --- /dev/null +++ b/tests/bad/bad-dot-in-collection.ttl @@ -0,0 +1 @@ +[ <http://example.org/p> (1. diff --git a/tests/bad/manifest.ttl b/tests/bad/manifest.ttl index 2c103a84..e8ecb396 100644 --- a/tests/bad/manifest.ttl +++ b/tests/bad/manifest.ttl @@ -30,6 +30,7 @@ <#bad-char-in-uri> <#bad-datatype> <#bad-dot-after-subject> + <#bad-dot-in-collection> <#bad-eof-after-quotes> <#bad-eof-at-string-start> <#bad-eof-in-blank> @@ -193,6 +194,11 @@ mf:name "bad-dot-after-subject" ; mf:action <bad-dot-after-subject.ttl> . +<#bad-dot-in-collection> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-dot-in-collection" ; + mf:action <bad-dot-in-collection.ttl> . + <#bad-eof-after-quotes> rdf:type rdft:TestTurtleNegativeSyntax ; mf:name "bad-eof-after-quotes" ; |