Skip to content

Commit 3740cbf

Browse files
committed
fix AbstractDeserializer for null InputStream
1 parent 56cfb57 commit 3740cbf

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

net.lecousin.core/src/main/java/net/lecousin/framework/io/IOFromInputStream.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,10 @@ public Integer run() throws IOException, CancelException {
149149
int total = 0;
150150
do {
151151
try {
152-
int nb = stream.read(buffer.array(), buffer.arrayOffset() + buffer.position() + total, buffer.remaining() - total);
152+
int nb = stream.read(
153+
buffer.array(),
154+
buffer.arrayOffset() + buffer.position() + total,
155+
buffer.remaining() - total);
153156
if (nb <= 0) break;
154157
total += nb;
155158
} catch (IOException e) {

net.lecousin.core/src/main/java/net/lecousin/framework/io/serialization/AbstractDeserializer.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -744,7 +744,10 @@ protected AsyncWork<InputStream, Exception> deserializeInputStreamValue(Serializ
744744
AsyncWork<InputStream, Exception> result = new AsyncWork<>();
745745
io.listenInline(
746746
(inputStream) -> {
747-
result.unblockSuccess(IOAsInputStream.get(inputStream));
747+
if (inputStream == null)
748+
result.unblockSuccess(null);
749+
else
750+
result.unblockSuccess(IOAsInputStream.get(inputStream));
748751
},
749752
result
750753
);
@@ -761,7 +764,10 @@ protected AsyncWork<InputStream, Exception> deserializeInputStreamAttributeValue
761764
AsyncWork<InputStream, Exception> result = new AsyncWork<>();
762765
io.listenInline(
763766
(inputStream) -> {
764-
result.unblockSuccess(IOAsInputStream.get(inputStream));
767+
if (inputStream == null)
768+
result.unblockSuccess(null);
769+
else
770+
result.unblockSuccess(IOAsInputStream.get(inputStream));
765771
},
766772
result
767773
);

0 commit comments

Comments
 (0)