From: Marc <34656315+MarcT512@users.noreply.github.com> Date: Fri, 7 Aug 2020 09:49:45 +0000 (+0100) Subject: Fix read past end of buffer X-Git-Tag: json-c-0.16-20220414~37^2~24^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F655%2Fhead;p=thirdparty%2Fjson-c.git Fix read past end of buffer Resolves https://github.com/json-c/json-c/issues/654 --- diff --git a/apps/json_parse.c b/apps/json_parse.c index bba46221..72b31a86 100644 --- a/apps/json_parse.c +++ b/apps/json_parse.c @@ -82,7 +82,8 @@ static int parseit(int fd, int (*callback)(struct json_object *)) int parse_end = json_tokener_get_parse_end(tok); if (obj == NULL && jerr != json_tokener_continue) { - char *aterr = &buf[start_pos + parse_end]; + char *aterr = (start_pos + parse_end < sizeof(buf)) ? + &buf[start_pos + parse_end] : ""; fflush(stdout); int fail_offset = total_read - ret + start_pos + parse_end; fprintf(stderr, "Failed at offset %d: %s %c\n", fail_offset,