diff options
author | Jeff Morriss <jeff.morriss.ws@gmail.com> | 2016-07-01 11:27:52 -0400 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2016-07-01 18:36:24 +0000 |
commit | cb987e86ab39ab2453b52ea4bc50ab51a51063e0 (patch) | |
tree | 8c40db95434917a8d5867c9bf097cd2fafb5e794 | |
parent | f3bd70b246a95c7762c3710afa728f646cafa08f (diff) |
Don't leak a file descriptor when changing the SSL debug file name.
I guess people don't change the SSL debug file name that often--this bug has
been here since 2006...
Change-Id: I3db053dd7e0cb9a9e4ae49a310e956b3c77c99f6
Reviewed-on: https://code.wireshark.org/review/16236
Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
-rw-r--r-- | epan/dissectors/packet-ssl-utils.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/epan/dissectors/packet-ssl-utils.c b/epan/dissectors/packet-ssl-utils.c index 4f7b000fe2..3c63c167bf 100644 --- a/epan/dissectors/packet-ssl-utils.c +++ b/epan/dissectors/packet-ssl-utils.c @@ -4832,19 +4832,22 @@ ssl_set_debug(const gchar* name) static gint debug_file_must_be_closed; gint use_stderr; - debug_file_must_be_closed = 0; use_stderr = name?(strcmp(name, SSL_DEBUG_USE_STDERR) == 0):0; if (debug_file_must_be_closed) fclose(ssl_debug_file); + if (use_stderr) ssl_debug_file = stderr; else if (!name || (strcmp(name, "") ==0)) ssl_debug_file = NULL; else ssl_debug_file = ws_fopen(name, "w"); + if (!use_stderr && ssl_debug_file) debug_file_must_be_closed = 1; + else + debug_file_must_be_closed = 0; ssl_debug_printf("Wireshark SSL debug log \n\n"); ssl_debug_printf("Wireshark version: %s\n", get_ws_vcs_version_info()); |