Cleanse memory using the new OPENSSL_cleanse() function.
I've covered all the memset()s I felt safe modifying, but may have missed some.
diff --git a/engines/e_4758_cca.c b/engines/e_4758_cca.c
index 84de02d..091e2dd 100644
--- a/engines/e_4758_cca.c
+++ b/engines/e_4758_cca.c
@@ -717,7 +717,7 @@
 
 	if (type == NID_sha1 || type == NID_md5)
 		{
-		memset(hashBuffer, 0, keyLength+1);
+		OPENSSL_cleanse(hashBuffer, keyLength+1);
 		OPENSSL_free(hashBuffer);
 		}
 
@@ -840,7 +840,7 @@
 
 	if (type == NID_sha1 || type == NID_md5)
 		{
-		memset(hashBuffer, 0, keyLength+1);
+		OPENSSL_cleanse(hashBuffer, keyLength+1);
 		OPENSSL_free(hashBuffer);
 		}
 
diff --git a/engines/e_sureware.c b/engines/e_sureware.c
index 9c2279c..270ee09 100644
--- a/engines/e_sureware.c
+++ b/engines/e_sureware.c
@@ -906,7 +906,7 @@
 err:
 	if (buf)
 	{
-		memset(buf,0,tlen);
+		OPENSSL_cleanse(buf,tlen);
 		OPENSSL_free(buf);
 	}
 	return ret;