diff options
| author | 2019-05-28 19:20:42 +0000 | |
|---|---|---|
| committer | 2019-05-28 19:20:42 +0000 | |
| commit | 3074669af7234f6b43b27c95b7f51062b88316fc (patch) | |
| tree | 5a0ae73d8026c00df3745a5a7a1c07b1741c585d | |
| parent | 1c66d4c7160d1cf9391f172dac09403522daaa74 (diff) | |
| parent | d8283a81f3bc427f84f0d54816d275f8ebeb2ce5 (diff) | |
Merge "Fix encryption/decryption of large blocks." into qt-dev
| -rw-r--r-- | keystore/java/android/security/keystore/KeyStoreCryptoOperationChunkedStreamer.java | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/keystore/java/android/security/keystore/KeyStoreCryptoOperationChunkedStreamer.java b/keystore/java/android/security/keystore/KeyStoreCryptoOperationChunkedStreamer.java index dbb79bcd5aea..e0304787142d 100644 --- a/keystore/java/android/security/keystore/KeyStoreCryptoOperationChunkedStreamer.java +++ b/keystore/java/android/security/keystore/KeyStoreCryptoOperationChunkedStreamer.java @@ -162,15 +162,15 @@ class KeyStoreCryptoOperationChunkedStreamer implements KeyStoreCryptoOperationS } if ((opResult.output != null) && (opResult.output.length > 0)) { - if (inputLength > 0) { + if (inputLength + mBufferedLength > 0) { // More output might be produced in this loop -- buffer the current output if (bufferedOutput == null) { bufferedOutput = new ByteArrayOutputStream(); - try { - bufferedOutput.write(opResult.output); - } catch (IOException e) { - throw new ProviderException("Failed to buffer output", e); - } + } + try { + bufferedOutput.write(opResult.output); + } catch (IOException e) { + throw new ProviderException("Failed to buffer output", e); } } else { // No more output will be produced in this loop |