You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2012/09/09 09:41:06 UTC
svn commit: r1382416 -
/camel/trunk/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPDataFormat.java
Author: davsclaus
Date: Sun Sep 9 07:41:05 2012
New Revision: 1382416
URL: http://svn.apache.org/viewvc?rev=1382416&view=rev
Log:
CAMEL-5583: PGP data format should close streams to avoid issues on windwos when reading from files. Thanks to Daniel Gredler for the patch.
Modified:
camel/trunk/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPDataFormat.java
Modified: camel/trunk/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPDataFormat.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPDataFormat.java?rev=1382416&r1=1382415&r2=1382416&view=diff
==============================================================================
--- camel/trunk/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPDataFormat.java (original)
+++ camel/trunk/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPDataFormat.java Sun Sep 9 07:41:05 2012
@@ -66,10 +66,15 @@ public class PGPDataFormat implements Da
throw new IllegalArgumentException("Public key is null, cannot proceed");
}
- InputStream plaintextStream = ExchangeHelper.convertToMandatoryType(exchange, InputStream.class, graph);
-
- byte[] compressedData = PGPDataFormatUtil.compress(IOUtils.toByteArray(plaintextStream),
- PGPLiteralData.CONSOLE, CompressionAlgorithmTags.ZIP);
+ byte[] plaintextData;
+ InputStream plaintextStream = null;
+ try {
+ plaintextStream = ExchangeHelper.convertToMandatoryType(exchange, InputStream.class, graph);
+ plaintextData = IOUtils.toByteArray(plaintextStream);
+ } finally {
+ IOUtils.closeQuietly(plaintextStream);
+ }
+ byte[] compressedData = PGPDataFormatUtil.compress(plaintextData, PGPLiteralData.CONSOLE, CompressionAlgorithmTags.ZIP);
if (armored) {
outputStream = new ArmoredOutputStream(outputStream);
@@ -96,8 +101,14 @@ public class PGPDataFormat implements Da
throw new IllegalArgumentException("Private key is null, cannot proceed");
}
- InputStream in = new ByteArrayInputStream(IOUtils.toByteArray(encryptedStream));
- in = PGPUtil.getDecoderStream(in);
+ InputStream in;
+ try {
+ byte[] encryptedData = IOUtils.toByteArray(encryptedStream);
+ InputStream byteStream = new ByteArrayInputStream(encryptedData);
+ in = PGPUtil.getDecoderStream(byteStream);
+ } finally {
+ IOUtils.closeQuietly(encryptedStream);
+ }
PGPObjectFactory pgpF = new PGPObjectFactory(in);
PGPEncryptedDataList enc;