openssl: fix potential memory leak in SSLKEYLOGFILE logic

Coverity CID 1427646.
This commit is contained in:
Daniel Stenberg 2018-01-18 12:10:58 +01:00
parent ca9c93e3e1
commit 9e4ad1e2af
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
1 changed files with 12 additions and 9 deletions

View File

@ -944,20 +944,23 @@ static int Curl_ossl_init(void)
#endif
#ifdef ENABLE_SSLKEYLOGFILE
keylog_file_name = curl_getenv("SSLKEYLOGFILE");
if(keylog_file_name && !keylog_file_fp) {
keylog_file_fp = fopen(keylog_file_name, FOPEN_APPENDTEXT);
if(keylog_file_fp) {
if(!keylog_file_fp) {
keylog_file_name = curl_getenv("SSLKEYLOGFILE");
if(keylog_file_name) {
keylog_file_fp = fopen(keylog_file_name, FOPEN_APPENDTEXT);
if(keylog_file_fp) {
#ifdef WIN32
if(setvbuf(keylog_file_fp, NULL, _IONBF, 0)) {
if(setvbuf(keylog_file_fp, NULL, _IONBF, 0))
#else
if(setvbuf(keylog_file_fp, NULL, _IOLBF, 4096)) {
if(setvbuf(keylog_file_fp, NULL, _IOLBF, 4096))
#endif
fclose(keylog_file_fp);
keylog_file_fp = NULL;
{
fclose(keylog_file_fp);
keylog_file_fp = NULL;
}
}
Curl_safefree(keylog_file_name);
}
Curl_safefree(keylog_file_name);
}
#endif