OpenSSLCipher: reset AAD when necessary

AAD was not being reset correctly during init or doFinal calls thus
leading to incorrect output.

(cherry picked from commit 0bab7f3b89ea13eb0d0c39d9c7b60c6112f0d6a8)

Bug: 27324690
Change-Id: If7806a9d7847814b60719637abceb94d8fbc8831
(cherry picked from commit b9d2def213e1e72d203ea2f989dc485ce493a586)
diff --git a/src/main/java/org/conscrypt/OpenSSLCipher.java b/src/main/java/org/conscrypt/OpenSSLCipher.java
index 47de94a..305f174 100644
--- a/src/main/java/org/conscrypt/OpenSSLCipher.java
+++ b/src/main/java/org/conscrypt/OpenSSLCipher.java
@@ -891,6 +891,7 @@
         }
 
         private void reset() {
+            aad = null;
             final int lastBufSize = lastGlobalMessageSize;
             if (buf == null) {
                 buf = new byte[lastBufSize];