浏览代码

Better zeroizing in CryptoKey.

Fabio Alessandrelli 5 年之前
父节点
当前提交
a486783d3d
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      modules/mbedtls/crypto_mbedtls.cpp

+ 2 - 2
modules/mbedtls/crypto_mbedtls.cpp

@@ -84,14 +84,14 @@ Error CryptoKeyMbedTLS::save(String p_path) {
 	int ret = mbedtls_pk_write_key_pem(&pkey, w, sizeof(w));
 	int ret = mbedtls_pk_write_key_pem(&pkey, w, sizeof(w));
 	if (ret != 0) {
 	if (ret != 0) {
 		memdelete(f);
 		memdelete(f);
-		memset(w, 0, sizeof(w)); // Zeroize anything we might have written.
+		mbedtls_platform_zeroize(w, sizeof(w)); // Zeroize anything we might have written.
 		ERR_FAIL_V_MSG(FAILED, "Error writing key '" + itos(ret) + "'.");
 		ERR_FAIL_V_MSG(FAILED, "Error writing key '" + itos(ret) + "'.");
 	}
 	}
 
 
 	size_t len = strlen((char *)w);
 	size_t len = strlen((char *)w);
 	f->store_buffer(w, len);
 	f->store_buffer(w, len);
 	memdelete(f);
 	memdelete(f);
-	memset(w, 0, sizeof(w)); // Zeroize temporary buffer.
+	mbedtls_platform_zeroize(w, sizeof(w)); // Zeroize temporary buffer.
 	return OK;
 	return OK;
 }
 }