[gnome-keyring/gnome-2-26] Use proper functions to free secure memory.



commit 0c5d330655fff930a0afedc426254bca7922f1b0
Author: Stef Walter <stef memberwebs com>
Date:   Fri Jun 26 14:42:06 2009 +0000

    Use proper functions to free secure memory.
    
    Fixes crash reported in bug #586192. Patch by Ryan Beasley.

 pkcs11/gck/gck-data-der.c          |    2 +-
 pkcs11/ssh-store/gck-ssh-openssh.c |    3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/pkcs11/gck/gck-data-der.c b/pkcs11/gck/gck-data-der.c
index de1be12..1cf19a7 100644
--- a/pkcs11/gck/gck-data-der.c
+++ b/pkcs11/gck/gck-data-der.c
@@ -1023,7 +1023,7 @@ prepare_and_encode_pkcs8_cipher (ASN1_TYPE asn, const gchar *password,
 	gcry_cipher_setkey (cih, key, n_key);
 	
 	g_free (iv);
-	gcry_free (key);
+	egg_secure_free (key);
 	asn1_delete_structure (&asn1_params);
 	
 	return cih;
diff --git a/pkcs11/ssh-store/gck-ssh-openssh.c b/pkcs11/ssh-store/gck-ssh-openssh.c
index 19ad4d2..9fc621f 100644
--- a/pkcs11/ssh-store/gck-ssh-openssh.c
+++ b/pkcs11/ssh-store/gck-ssh-openssh.c
@@ -7,6 +7,7 @@
 
 #include "egg/egg-buffer.h"
 #include "egg/egg-openssl.h"
+#include "egg/egg-secure-memory.h"
 
 typedef struct _ParsePrivate {
 	gcry_sexp_t sexp;
@@ -176,7 +177,7 @@ load_encrypted_key (const guchar *data, gsize n_data, const gchar *dekinfo,
 	
 	/* Try to parse */
 	ret = gck_data_der_read_private_key (decrypted, n_decrypted, skey);
-	gcry_free (decrypted);
+	egg_secure_free (decrypted);
 
 	if (ret != GCK_DATA_UNRECOGNIZED)
 		return ret;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]