Unverified Commit 9e4ad1e2 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

openssl: fix potential memory leak in SSLKEYLOGFILE logic

Coverity CID 1427646.
parent ca9c93e3
Loading
Loading
Loading
Loading
+12 −9
Original line number Diff line number Diff line
@@ -944,21 +944,24 @@ static int Curl_ossl_init(void)
#endif

#ifdef ENABLE_SSLKEYLOGFILE
  if(!keylog_file_fp) {
    keylog_file_name = curl_getenv("SSLKEYLOGFILE");
  if(keylog_file_name && !keylog_file_fp) {
    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;
        }
      }
      Curl_safefree(keylog_file_name);
    }
  }
#endif

  return 1;