From a95b69ab79e34df176e5b0c33880157ceaa65335 Mon Sep 17 00:00:00 2001 From: Redkale <8730487+redkale@users.noreply.github.com> Date: Thu, 26 Jul 2018 11:54:09 +0800 Subject: [PATCH] --- src/org/redkale/convert/ArrayDecoder.java | 1 + src/org/redkale/convert/CollectionDecoder.java | 1 + src/org/redkale/convert/MapDecoder.java | 1 + src/org/redkale/convert/StreamDecoder.java | 1 + 4 files changed, 4 insertions(+) diff --git a/src/org/redkale/convert/ArrayDecoder.java b/src/org/redkale/convert/ArrayDecoder.java index 4af0253e1..940bedd50 100644 --- a/src/org/redkale/convert/ArrayDecoder.java +++ b/src/org/redkale/convert/ArrayDecoder.java @@ -91,6 +91,7 @@ public class ArrayDecoder implements Decodeable { int startPosition = in.position(); while (hasNext(in, member, startPosition, contentLength, first)) { Reader itemReader = getItemReader(in, member, first); + if (itemReader == null) break; result.add(readMemberValue(itemReader, member, first)); first = false; } diff --git a/src/org/redkale/convert/CollectionDecoder.java b/src/org/redkale/convert/CollectionDecoder.java index ad87fb639..2bb36bbf3 100644 --- a/src/org/redkale/convert/CollectionDecoder.java +++ b/src/org/redkale/convert/CollectionDecoder.java @@ -91,6 +91,7 @@ public class CollectionDecoder implements Decodeable> { int startPosition = in.position(); while (hasNext(in, member, startPosition, contentLength, first)) { Reader itemReader = getItemReader(in, member, first); + if (itemReader == null) break; result.add(readMemberValue(itemReader, member, first)); first = false; } diff --git a/src/org/redkale/convert/MapDecoder.java b/src/org/redkale/convert/MapDecoder.java index fccf625d9..e5d6fb552 100644 --- a/src/org/redkale/convert/MapDecoder.java +++ b/src/org/redkale/convert/MapDecoder.java @@ -104,6 +104,7 @@ public class MapDecoder implements Decodeable> { int startPosition = in.position(); while (hasNext(in, member, startPosition, contentLength, first)) { Reader entryReader = getEntryReader(in, member, first); + if (entryReader == null) break; K key = readKeyMember(entryReader, member, first); entryReader.readBlank(); V value = readValueMember(entryReader, member, first); diff --git a/src/org/redkale/convert/StreamDecoder.java b/src/org/redkale/convert/StreamDecoder.java index 8126bbd85..7c07c4b02 100644 --- a/src/org/redkale/convert/StreamDecoder.java +++ b/src/org/redkale/convert/StreamDecoder.java @@ -87,6 +87,7 @@ public class StreamDecoder implements Decodeable> { int startPosition = in.position(); while (hasNext(in, member, startPosition, contentLength, first)) { Reader itemReader = getItemReader(in, member, first); + if (itemReader == null) break; result.add(readMemberValue(itemReader, member, first)); first = false; }