Repository: cxf Updated Branches: refs/heads/3.0.x-fixes 7a812e99f -> 5130728d3
[CXF-6579] Fixing the inflation code not to lose the existing inflated content Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/5130728d Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/5130728d Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/5130728d Branch: refs/heads/3.0.x-fixes Commit: 5130728d3419921a4381843f068d74039b6e0bd8 Parents: 7a812e9 Author: Sergey Beryozkin <sberyoz...@gmail.com> Authored: Wed Sep 9 13:07:13 2015 +0100 Committer: Sergey Beryozkin <sberyoz...@gmail.com> Committed: Wed Sep 9 13:08:07 2015 +0100 ---------------------------------------------------------------------- .../main/java/org/apache/cxf/common/util/CompressionUtils.java | 5 ++++- .../apache/cxf/rs/security/saml/DeflateEncoderDecoderTest.java | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/5130728d/core/src/main/java/org/apache/cxf/common/util/CompressionUtils.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/cxf/common/util/CompressionUtils.java b/core/src/main/java/org/apache/cxf/common/util/CompressionUtils.java index c80352e..a67a789 100644 --- a/core/src/main/java/org/apache/cxf/common/util/CompressionUtils.java +++ b/core/src/main/java/org/apache/cxf/common/util/CompressionUtils.java @@ -53,8 +53,11 @@ public final class CompressionUtils { break; } } - + byte[] lastInflatedToken = inflatedToken; inflatedToken = new byte[input.length + inflatedLen]; + if (lastInflatedToken != input) { + System.arraycopy(lastInflatedToken, 0, inflatedToken, 0, inflatedLen); + } System.arraycopy(input, 0, inflatedToken, inflatedLen, inputLen); inflatedLen += inputLen; } http://git-wip-us.apache.org/repos/asf/cxf/blob/5130728d/rt/rs/security/xml/src/test/java/org/apache/cxf/rs/security/saml/DeflateEncoderDecoderTest.java ---------------------------------------------------------------------- diff --git a/rt/rs/security/xml/src/test/java/org/apache/cxf/rs/security/saml/DeflateEncoderDecoderTest.java b/rt/rs/security/xml/src/test/java/org/apache/cxf/rs/security/saml/DeflateEncoderDecoderTest.java index 15a2512..38bfdf4 100644 --- a/rt/rs/security/xml/src/test/java/org/apache/cxf/rs/security/saml/DeflateEncoderDecoderTest.java +++ b/rt/rs/security/xml/src/test/java/org/apache/cxf/rs/security/saml/DeflateEncoderDecoderTest.java @@ -70,7 +70,7 @@ public class DeflateEncoderDecoderTest extends Assert { String token = "valid_grant valid_grant valid_grant valid_grant valid_grant valid_grant"; DeflateEncoderDecoder deflateEncoderDecoder = new DeflateEncoderDecoder(); - byte[] deflatedToken = deflateEncoderDecoder.deflateToken(token.getBytes(), 0, true); + byte[] deflatedToken = deflateEncoderDecoder.deflateToken(token.getBytes()); String cxfInflatedToken = IOUtils .toString(deflateEncoderDecoder.inflateToken(deflatedToken));