in src/main/java/org/apache/commons/crypto/cipher/OpenSslGaloisCounterMode.java [281:304]
public int update(final ByteBuffer input, final ByteBuffer output) throws ShortBufferException {
checkState();
processAAD();
final int len;
if (this.cipherMode == OpenSsl.DECRYPT_MODE) {
// store internally until doFinal(decrypt) is called because
// spec mentioned that only return recovered data after tag
// is successfully verified
final int inputLen = input.remaining();
final byte[] inputBuf = new byte[inputLen];
input.get(inputBuf, 0, inputLen);
inBuffer.write(inputBuf, 0, inputLen);
return 0;
}
len = OpenSslNative.update(context, input, input.position(),
input.remaining(), output, output.position(),
output.remaining());
input.position(input.limit());
output.position(output.position() + len);
return len;
}