aboutsummaryrefslogtreecommitdiff
path: root/android/olm-sdk/src/main/java/org/matrix/olm/OlmPkEncryption.java
diff options
context:
space:
mode:
authorHubert Chathi <hubert@uhoreg.ca>2018-10-17 15:50:36 -0400
committerHubert Chathi <hubert@uhoreg.ca>2018-10-19 12:10:11 -0400
commit1c7ff7f48d121ea1108eec2247a34aaec2906e61 (patch)
treeac222c71797e73e21af4544a5948d1f443a15e81 /android/olm-sdk/src/main/java/org/matrix/olm/OlmPkEncryption.java
parentc4c3055f838092aa5503253363faa55b44d7c0a5 (diff)
more and improved buffer sanitising for Android bindings
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;