aboutsummaryrefslogtreecommitdiff
path: root/android/olm-sdk/src/main/java/org/matrix/olm/OlmPkEncryption.java
diff options
context:
space:
mode:
Diffstat (limited to 'android/olm-sdk/src/main/java/org/matrix/olm/OlmPkEncryption.java')
-rw-r--r--android/olm-sdk/src/main/java/org/matrix/olm/OlmPkEncryption.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/android/olm-sdk/src/main/java/org/matrix/olm/OlmPkEncryption.java b/android/olm-sdk/src/main/java/org/matrix/olm/OlmPkEncryption.java
index a2ccf2e..01666fd 100644
--- a/android/olm-sdk/src/main/java/org/matrix/olm/OlmPkEncryption.java
+++ b/android/olm-sdk/src/main/java/org/matrix/olm/OlmPkEncryption.java
@@ -73,10 +73,10 @@ public class OlmPkEncryption {
OlmPkMessage encryptedMsgRetValue = new OlmPkMessage();
+ byte[] plaintextBuffer = null;
try {
- byte[] plaintextBuffer = aPlaintext.getBytes("UTF-8");
+ plaintextBuffer = aPlaintext.getBytes("UTF-8");
byte[] ciphertextBuffer = encryptJni(plaintextBuffer, encryptedMsgRetValue);
- Arrays.fill(plaintextBuffer, (byte) 0);
if (null != ciphertextBuffer) {
encryptedMsgRetValue.mCipherText = new String(ciphertextBuffer, "UTF-8");
@@ -84,6 +84,10 @@ public class OlmPkEncryption {
} catch (Exception e) {
Log.e(LOG_TAG, "## pkEncrypt(): failed " + e.getMessage());
throw new OlmException(OlmException.EXCEPTION_CODE_PK_ENCRYPTION_ENCRYPT, e.getMessage());
+ } finally {
+ if (null != plaintextBuffer) {
+ Arrays.fill(plaintextBuffer, (byte) 0);
+ }
}
return encryptedMsgRetValue;