diff options
author | Hubert Chathi <hubert@uhoreg.ca> | 2018-10-17 15:50:36 -0400 |
---|---|---|
committer | Hubert Chathi <hubert@uhoreg.ca> | 2018-10-19 12:10:11 -0400 |
commit | 1c7ff7f48d121ea1108eec2247a34aaec2906e61 (patch) | |
tree | ac222c71797e73e21af4544a5948d1f443a15e81 /android/olm-sdk/src/main/java/org/matrix/olm/OlmPkEncryption.java | |
parent | c4c3055f838092aa5503253363faa55b44d7c0a5 (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.java | 8 |
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; |