This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 0c281ece372 CAMEL-18226: camel-core - Converter for InputStream to 
byte[] should close stream
0c281ece372 is described below

commit 0c281ece372ddc4bd94c499e1458946e5c933734
Author: Claus Ibsen <[email protected]>
AuthorDate: Fri Jun 24 11:41:03 2022 +0200

    CAMEL-18226: camel-core - Converter for InputStream to byte[] should close 
stream
---
 .../src/main/java/org/apache/camel/converter/IOConverter.java           | 2 +-
 .../org/apache/camel/support/processor/validation/SchemaReader.java     | 2 +-
 docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_18.adoc    | 2 ++
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git 
a/core/camel-base/src/main/java/org/apache/camel/converter/IOConverter.java 
b/core/camel-base/src/main/java/org/apache/camel/converter/IOConverter.java
index 9a6eeb92d10..ebde6598e32 100644
--- a/core/camel-base/src/main/java/org/apache/camel/converter/IOConverter.java
+++ b/core/camel-base/src/main/java/org/apache/camel/converter/IOConverter.java
@@ -251,7 +251,7 @@ public final class IOConverter {
     @Converter(order = 29)
     public static byte[] toBytes(InputStream stream) throws IOException {
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        IOHelper.copy(IOHelper.buffered(stream), bos);
+        IOHelper.copyAndCloseInput(IOHelper.buffered(stream), bos);
 
         // no need to close the ByteArrayOutputStream as it's close()
         // implementation is noop
diff --git 
a/core/camel-xml-jaxp/src/main/java/org/apache/camel/support/processor/validation/SchemaReader.java
 
b/core/camel-xml-jaxp/src/main/java/org/apache/camel/support/processor/validation/SchemaReader.java
index db2f1390e1d..5e176a323a6 100644
--- 
a/core/camel-xml-jaxp/src/main/java/org/apache/camel/support/processor/validation/SchemaReader.java
+++ 
b/core/camel-xml-jaxp/src/main/java/org/apache/camel/support/processor/validation/SchemaReader.java
@@ -235,7 +235,7 @@ public class SchemaReader {
     protected byte[] readSchemaResource() throws IOException {
         LOG.debug("reading schema resource: {}", schemaResourceUri);
         InputStream is = 
ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, 
schemaResourceUri);
-        byte[] bytes = null;
+        byte[] bytes;
         try {
             bytes = getBytes(is);
         } finally {
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_18.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_18.adoc
index d01c841e46f..f8cf3a658aa 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_18.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_18.adoc
@@ -11,6 +11,8 @@ from both 3.0 to 3.1 and 3.1 to 3.2.
 Camel will now mask all known secret values when logging endpoint URIs to 
avoid leaking sensitive details
 such as from stacktraces. Previously only a sub set of known _secret_ keys was 
masked.
 
+The type converter from `InputStream` to `byte[]` will now close the input 
stream after the conversion.
+
 === camel-endpointdsl
 
 The options for `lazyStartProducer` and `bridgeErrorHandler` has moved into 
the _advanced_ group.

Reply via email to