From 19cfc8d9a859d7064d01532753cb3e3d840403fa Mon Sep 17 00:00:00 2001 From: Liang-Chi Hsieh Date: Wed, 20 Oct 2021 00:06:34 -0700 Subject: [PATCH] Use original compressed/uncompressed buffer's position. (#293) --- src/main/java/org/xerial/snappy/Snappy.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/xerial/snappy/Snappy.java b/src/main/java/org/xerial/snappy/Snappy.java index 709e8f6..4d4faad 100755 --- a/src/main/java/org/xerial/snappy/Snappy.java +++ b/src/main/java/org/xerial/snappy/Snappy.java @@ -148,12 +148,13 @@ public class Snappy // output: compressed int uPos = uncompressed.position(); int uLen = uncompressed.remaining(); + int cPos = compressed.position(); int compressedSize = impl.rawCompress(uncompressed, uPos, uLen, compressed, - compressed.position()); + cPos); // pos limit // [ ......BBBBBBB.........] - compressed.limit(compressed.position() + compressedSize); + compressed.limit(cPos + compressedSize); return compressedSize; } @@ -545,12 +546,13 @@ public class Snappy int cPos = compressed.position(); int cLen = compressed.remaining(); + int uPos = uncompressed.position(); // pos limit // [ ......UUUUUU.........] int decompressedSize = impl.rawUncompress(compressed, cPos, cLen, uncompressed, - uncompressed.position()); - uncompressed.limit(uncompressed.position() + decompressedSize); + uPos); + uncompressed.limit(uPos + decompressedSize); return decompressedSize; }