From e3a491db47da8ae03d6390e71652ca53779fb393 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 10 May 2018 15:31:22 +0200 Subject: Fix byte source to never read past end of strings --- src/reader.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'src/reader.c') diff --git a/src/reader.c b/src/reader.c index d515aaab..e9210927 100644 --- a/src/reader.c +++ b/src/reader.c @@ -348,16 +348,12 @@ serd_reader_read_chunk(SerdReader* reader) { SerdStatus st = SERD_SUCCESS; if (!reader->source.prepared) { - if ((st = serd_reader_prepare(reader))) { - return st; - } + st = serd_reader_prepare(reader); } else if (reader->source.eof) { - reader->source.eof = false; - if ((st = serd_byte_source_advance(&reader->source))) { - return st; - } + st = serd_byte_source_advance(&reader->source); } - return read_statement(reader) ? SERD_SUCCESS : SERD_FAILURE; + + return st ? st : read_statement(reader) ? SERD_SUCCESS : SERD_FAILURE; } SERD_API -- cgit v1.2.1