diff --git a/main.c b/main.c
index 7947984..75e09f8 100644
--- a/main.c
+++ b/main.c
@@ -266,12 +266,10 @@
 {
     vchar_t *p = NULL;
 #ifdef ANDROID_CHANGES
-    char *value = keystore_get(key, &size);
-    if (value) {
-        if ((p = vmalloc(size)) != NULL) {
-            memcpy(p->v, value, p->l);
-        }
-        free(value);
+    char value[KEYSTORE_MESSAGE_SIZE];
+    int length = keystore_get(key, value);
+    if (length != -1 && (p = vmalloc(length)) != NULL) {
+        memcpy(p->v, value, length);
     }
 #else
     if (key && (p = vmalloc(size)) != NULL) {
diff --git a/src/racoon/crypto_openssl.c b/src/racoon/crypto_openssl.c
index 0ec53cf..77d9ee9 100644
--- a/src/racoon/crypto_openssl.c
+++ b/src/racoon/crypto_openssl.c
@@ -440,16 +440,10 @@
 static BIO *BIO_from_keystore(char *key)
 {
 	BIO *bio = NULL;
-	char *value;
-	int size;
-
-	value = keystore_get(key, &size);
-	if (value) {
-		bio = BIO_new(BIO_s_mem());
-		if (bio) {
-			BIO_write(bio, value, size);
-		}
-		free(value);
+	char value[KEYSTORE_MESSAGE_SIZE];
+	int length = keystore_get(key, value);
+	if (length != -1 && (bio = BIO_new(BIO_s_mem())) != NULL) {
+		BIO_write(bio, value, length);
 	}
 	return bio;
 }
