From 494743e8e6e4bb54ddabe9d85b7d3bc6ebb956b3 Mon Sep 17 00:00:00 2001 From: Zoltan Meze Date: Thu, 7 Apr 2022 03:22:06 +0200 Subject: [PATCH] [SUREFIRE-2058] Flip and clear output char buffer after each chunk read Overflow can happen even when output buffer has still some remaining space left --- .../maven/surefire/api/stream/AbstractStreamDecoder.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/api/stream/AbstractStreamDecoder.java b/surefire-api/src/main/java/org/apache/maven/surefire/api/stream/AbstractStreamDecoder.java index facf30bcb5..1912ccb5dc 100644 --- a/surefire-api/src/main/java/org/apache/maven/surefire/api/stream/AbstractStreamDecoder.java +++ b/surefire-api/src/main/java/org/apache/maven/surefire/api/stream/AbstractStreamDecoder.java @@ -326,11 +326,8 @@ private String readString( @Nonnull final Memento memento, @Nonnegative final in } while ( isLastChunk && bytesToDecode > 0 && output.hasRemaining() ); - if ( isLastChunk || !output.hasRemaining() ) - { - strings.add( ( (Buffer) output ).flip().toString() ); - ( (Buffer) output ).clear(); - } + strings.add( ( (Buffer) output ).flip().toString() ); + ( (Buffer) output ).clear(); } memento.getDecoder().reset();