diff options
author | David Robillard <d@drobilla.net> | 2020-06-21 19:57:10 +0200 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2021-03-08 23:23:06 -0500 |
commit | 2fb247d2beb71539ceba8f2841d7c1bad933ab36 (patch) | |
tree | 20108ff969b4c1f4b237f33f5ac2471e312e239d | |
parent | d9ea0564d0954967788b688a224cf81f7892c4a7 (diff) | |
download | serd-2fb247d2beb71539ceba8f2841d7c1bad933ab36.tar.gz serd-2fb247d2beb71539ceba8f2841d7c1bad933ab36.tar.bz2 serd-2fb247d2beb71539ceba8f2841d7c1bad933ab36.zip |
Fix crash when attempting to read before starting
-rw-r--r-- | src/byte_source.c | 4 | ||||
-rw-r--r-- | test/test_reader_writer.c | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/byte_source.c b/src/byte_source.c index ccdc82e5..ca02ff3e 100644 --- a/src/byte_source.c +++ b/src/byte_source.c @@ -86,6 +86,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) { diff --git a/test/test_reader_writer.c b/test/test_reader_writer.c index e0f636e9..a3e99fa4 100644 --- a/test/test_reader_writer.c +++ b/test/test_reader_writer.c @@ -327,6 +327,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"); #if defined(__GNUC__) |