From 055735f696138614d51e92f1152bb02f0cfbefe0 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 24 Nov 2022 16:40:46 -0500 Subject: Gracefully handle bad characters in Turtle datatype syntax --- src/n3.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/n3.c b/src/n3.c index f3112be0..bffc423b 100644 --- a/src/n3.c +++ b/src/n3.c @@ -943,12 +943,15 @@ read_literal(SerdReader* const reader, break; case '^': eat_byte_safe(reader, '^'); - eat_byte_check(reader, '^'); + if (!eat_byte_check(reader, '^')) { + return r_err(reader, SERD_ERR_BAD_SYNTAX, "expected `^'\n"); + } + if ((st = read_iri(reader, datatype, ate_dot))) { *datatype = pop_node(reader, *datatype); *lang = pop_node(reader, *lang); *dest = pop_node(reader, *dest); - return r_err(reader, st, "bad literal\n"); + return r_err(reader, st, "bad datatype\n"); } break; } -- cgit v1.2.1