OpenSSL中关于RSA_new和RSA_free的内存泄漏

这个具体的问题问题代码如下:

RSA *rsaKey=RSA_new();
rsaKey = RSA_generate_key(keyBits,65537,NULL,NULL);
RSA_free(rsaKey);

测试过程中,一直出现内存泄露,其实本身不需要调用RSA_new(),直接

RSA rsaKey=RSA_generate_key(keyBits,65537,NULL,NULL);
RSA_free(rsaKey);

便可以生成rsaKey,内存泄露是指针rsaKey 指向RSA_new()申请的空间,但是 第二句将rsaKey 重新赋值,导致RSA_new()申请的空间泄露,导致错误的发生。这里要注意RSA openssl 库的具体用法,避免类似错误的产生。

原文地址:https://www.cnblogs.com/djiankuo/p/5972496.html