ipsec-tools: switch to multi-user keystore.
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;
 }