aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/n3.c3
-rw-r--r--tests/bad/bad-dot-in-collection.ttl1
-rw-r--r--tests/bad/manifest.ttl6
3 files changed, 9 insertions, 1 deletions
diff --git a/src/n3.c b/src/n3.c
index 906a0ac4..2e85ea66 100644
--- a/src/n3.c
+++ b/src/n3.c
@@ -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" ;