From bd9288863a6a01814a32b009823ae96e53dc6755 Mon Sep 17 00:00:00 2001 From: jpfiset Date: Tue, 30 Oct 2018 23:00:29 -0400 Subject: [PATCH] In JSONTokener.nextValue(), accepts erroneous values (with spaces in middle). Better handling of end of stream. --- JSONTokener.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/JSONTokener.java b/JSONTokener.java index 36bce45c2..d9c3ead6b 100644 --- a/JSONTokener.java +++ b/JSONTokener.java @@ -444,11 +444,13 @@ public Object nextValue() throws JSONException { */ StringBuilder sb = new StringBuilder(); - while (c >= ' ' && ",:]}/\\\"[{;=#".indexOf(c) < 0) { + while (c > ' ' && ",:]}/\\\"[{;=#".indexOf(c) < 0) { sb.append(c); c = this.next(); } - this.back(); + if( false == this.eof ) { + this.back(); + } string = sb.toString().trim(); if ("".equals(string)) {