From 85f5cbd3705b34fcc52009ca51d8167ab18764fa Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Tue, 17 Jan 2023 01:26:58 +0100 Subject: oplist: Fix another OOB read Credit to OSS-Fuzz --- src/oplist.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/oplist.c b/src/oplist.c index 8936cce..4dd0df5 100644 --- a/src/oplist.c +++ b/src/oplist.c @@ -715,6 +715,13 @@ static int node_from_openstep(parse_ctx ctx, plist_t *plist) plist_free_data(data); goto err_out; } + if (ctx->pos >= ctx->end) { + byte_array_free(bytes); + plist_free_data(data); + PLIST_OSTEP_ERR("EOF while parsing data terminator '>' at offset %ld\n", ctx->pos - ctx->start); + ctx->err++; + goto err_out; + } if (*ctx->pos != '>') { byte_array_free(bytes); plist_free_data(data); -- cgit v1.1-32-gdbae