From 9f8d8b9b34a2cdec4c9b2600a287009adb9573ea Mon Sep 17 00:00:00 2001 From: Amir Vakili <114409643+amirhosv@users.noreply.github.com> Date: Thu, 29 Jun 2023 21:31:17 -0400 Subject: [PATCH] Revert PR 302 (#308) + A randomized test failes with this PR. We'll revert till the root cause is found and the gap in testing is added to CI. --- .../corretto/crypto/provider/AesGcmSpi.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/com/amazon/corretto/crypto/provider/AesGcmSpi.java b/src/com/amazon/corretto/crypto/provider/AesGcmSpi.java index 437ec1b6..2322d9ef 100644 --- a/src/com/amazon/corretto/crypto/provider/AesGcmSpi.java +++ b/src/com/amazon/corretto/crypto/provider/AesGcmSpi.java @@ -993,4 +993,20 @@ private void stateReset() { hasConsumedData = false; contextInitialized = false; } + + @Override + protected int engineDoFinal(final ByteBuffer input, final ByteBuffer output) + throws ShortBufferException, IllegalBlockSizeException, BadPaddingException { + int initialPosition = output.position(); + + engineUpdate(input, output); + + ShimArray shim = new ShimArray(output, engineGetOutputSize(0)); + int finalBytes = engineDoFinal(EMPTY_ARRAY, 0, 0, shim.array, shim.offset); + + shim.writeback(); + output.position(output.position() + finalBytes); + + return output.position() - initialPosition; + } }