aboutsummaryrefslogtreecommitdiff
path: root/android/olm-sdk/src/main/java/org/matrix/olm/OlmPkDecryption.java
diff options
context:
space:
mode:
authorHubert Chathi <hubert@uhoreg.ca>2018-10-10 15:06:58 -0400
committerHubert Chathi <hubert@uhoreg.ca>2018-10-12 15:55:36 -0400
commitaf86a9a8b899eeb3c1c464cb0c54218acd788fa6 (patch)
treeaf8bf2476e95118a7830b075289bb59898ce47ca /android/olm-sdk/src/main/java/org/matrix/olm/OlmPkDecryption.java
parentb1130fb77f0bcaa436a5308bd1093b0e94aa6585 (diff)
clear out plaintext buffers in Android SDK where possible
Diffstat (limited to 'android/olm-sdk/src/main/java/org/matrix/olm/OlmPkDecryption.java')
-rw-r--r--android/olm-sdk/src/main/java/org/matrix/olm/OlmPkDecryption.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/android/olm-sdk/src/main/java/org/matrix/olm/OlmPkDecryption.java b/android/olm-sdk/src/main/java/org/matrix/olm/OlmPkDecryption.java
index 03d055a..ea838f1 100644
--- a/android/olm-sdk/src/main/java/org/matrix/olm/OlmPkDecryption.java
+++ b/android/olm-sdk/src/main/java/org/matrix/olm/OlmPkDecryption.java
@@ -18,6 +18,8 @@ package org.matrix.olm;
import android.util.Log;
+import java.util.Arrays;
+
public class OlmPkDecryption {
private static final String LOG_TAG = "OlmPkDecryption";
@@ -67,7 +69,10 @@ public class OlmPkDecryption {
}
try {
- return new String(decryptJni(aMessage), "UTF-8");
+ byte[] plaintextBuffer = decryptJni(aMessage);
+ String plaintext = new String(plaintextBuffer, "UTF-8");
+ Arrays.fill(plaintextBuffer, (byte) 0);
+ return plaintext;
} catch (Exception e) {
Log.e(LOG_TAG, "## pkDecrypt(): failed " + e.getMessage());
throw new OlmException(OlmException.EXCEPTION_CODE_PK_DECRYPTION_DECRYPT, e.getMessage());