From 20ca549612bafd386ff991130227cfb50c28ddab Mon Sep 17 00:00:00 2001 From: Steve Waldman Date: Sat, 29 Jun 2019 00:08:44 -0700 Subject: [PATCH] Fix detection of truncation (so messages exactly max length aren't flagged truncated) --- .../ivyint/GigahorseUrlHandler.scala | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/GigahorseUrlHandler.scala b/ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/GigahorseUrlHandler.scala index 943bab93a..1941de252 100644 --- a/ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/GigahorseUrlHandler.scala +++ b/ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/GigahorseUrlHandler.scala @@ -209,13 +209,18 @@ class GigahorseUrlHandler(http: OkHttpClient) extends AbstractURLHandler { val os = new ByteArrayOutputStream(ErrorBodyTruncateLen) var count = 0 var b = is.read() - while (b >= 0 && count < ErrorBodyTruncateLen) { - os.write(b) - count += 1 - b = is.read() + var truncated = false + while (!truncated && b >= 0) { + if (count >= ErrorBodyTruncateLen) { + truncated = true + } else { + os.write(b) + count += 1 + b = is.read() + } } if (count > 0) { - Some((os.toByteArray, count >= ErrorBodyTruncateLen)) + Some((os.toByteArray, truncated)) } else { None }