aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/byte_source.c4
-rw-r--r--tests/serd_test.c3
2 files changed, 7 insertions, 0 deletions
diff --git a/src/byte_source.c b/src/byte_source.c
index 0b233bc9..90af28ee 100644
--- a/src/byte_source.c
+++ b/src/byte_source.c
@@ -88,6 +88,10 @@ serd_byte_source_open_source(SerdByteSource* source,
SerdStatus
serd_byte_source_prepare(SerdByteSource* source)
{
+ if (source->page_size == 0) {
+ return SERD_FAILURE;
+ }
+
source->prepared = true;
if (source->from_stream) {
if (source->page_size > 1) {
diff --git a/tests/serd_test.c b/tests/serd_test.c
index 16209c27..82126c0c 100644
--- a/tests/serd_test.c
+++ b/tests/serd_test.c
@@ -679,6 +679,9 @@ test_reader(const char* path)
SerdReader* reader = serd_reader_new(world, SERD_TURTLE, 0, sink, 4096);
assert(reader);
+ assert(serd_reader_read_document(reader) == SERD_FAILURE);
+ assert(serd_reader_read_chunk(reader) == SERD_FAILURE);
+
serd_reader_add_blank_prefix(reader, "tmp");
serd_reader_add_blank_prefix(reader, NULL);