You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2022/01/24 13:09:50 UTC
[httpcomponents-client] branch 5.1.x updated: Bug fix: ByteArrayBuilder incorrectly handles empty strings
This is an automated email from the ASF dual-hosted git repository.
olegk pushed a commit to branch 5.1.x
in repository https://gitbox.apache.org/repos/asf/httpcomponents-client.git
The following commit(s) were added to refs/heads/5.1.x by this push:
new a963001 Bug fix: ByteArrayBuilder incorrectly handles empty strings
a963001 is described below
commit a963001b776125ef29bfc0bf77adf5b60fea2a98
Author: Oleg Kalnichevski <ol...@apache.org>
AuthorDate: Mon Jan 24 13:58:07 2022 +0100
Bug fix: ByteArrayBuilder incorrectly handles empty strings
---
.../main/java/org/apache/hc/client5/http/utils/ByteArrayBuilder.java | 4 ++--
.../java/org/apache/hc/client5/http/utils/TestByteArrayBuilder.java | 1 +
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/utils/ByteArrayBuilder.java b/httpclient5/src/main/java/org/apache/hc/client5/http/utils/ByteArrayBuilder.java
index 6b78abc..f68797a 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/utils/ByteArrayBuilder.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/utils/ByteArrayBuilder.java
@@ -74,8 +74,8 @@ public final class ByteArrayBuilder {
final int capacity = (int) (in.remaining() * encoder.averageBytesPerChar());
ByteBuffer out = ensureFreeCapacity(buffer, capacity);
- for (;;) {
- CoderResult result = in.hasRemaining() ? encoder.encode(in, out, true) : CoderResult.UNDERFLOW;
+ while (in.hasRemaining()) {
+ CoderResult result = encoder.encode(in, out, true);
if (result.isError()) {
result.throwException();
}
diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/utils/TestByteArrayBuilder.java b/httpclient5/src/test/java/org/apache/hc/client5/http/utils/TestByteArrayBuilder.java
index 775af3c..ba3d7fb 100644
--- a/httpclient5/src/test/java/org/apache/hc/client5/http/utils/TestByteArrayBuilder.java
+++ b/httpclient5/src/test/java/org/apache/hc/client5/http/utils/TestByteArrayBuilder.java
@@ -121,6 +121,7 @@ public class TestByteArrayBuilder {
buffer.append("bcd");
buffer.append("e");
buffer.append("f");
+ buffer.append("");
buffer.append((String) null);
buffer.append((char[]) null);