diff --git a/src/org/thoughtcrime/securesms/crypto/DecryptingPartInputStream.java b/src/org/thoughtcrime/securesms/crypto/DecryptingPartInputStream.java index 5c6a4d72c2..55549a298b 100644 --- a/src/org/thoughtcrime/securesms/crypto/DecryptingPartInputStream.java +++ b/src/org/thoughtcrime/securesms/crypto/DecryptingPartInputStream.java @@ -156,6 +156,12 @@ public class DecryptingPartInputStream extends FileInputStream { //data retrieved using cipher.update doesn't always match cipher.getOutputSize (but should never be larger) int outputLen = cipher.getOutputSize(read); + + if (outputLen < length) { + readLength += cipher.update(internalBuffer, 0, read, buffer, offset); + return readLength; + } + byte[] transientBuffer = new byte[outputLen]; outputLen = cipher.update(internalBuffer, 0, read, transientBuffer, 0); if (outputLen <= length) {