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.