# HG changeset patch # User Jiri Vanek # Date 1443793311 -7200 # Node ID d2a31f081e480ac93f9d66f48429d612422d0adc # Parent 60ec4f45fb23fc6910f3181c3e6e6a744bfc98d1 Fixed possible segfault during files on and debug on diff -r 60ec4f45fb23 -r d2a31f081e48 ChangeLog --- a/ChangeLog Fri Sep 11 14:18:42 2015 +0200 +++ b/ChangeLog Fri Oct 02 15:41:51 2015 +0200 @@ -1,3 +1,13 @@ +2015-10-02 Jiri Vanek + + Fixed possible segfault during files on and debug on + * plugin/icedteanp/IcedTeaNPPlugin.cc: added file_logs_initiated initiated as + false. plugin_file_log initiated to NULL. + * plugin/icedteanp/IcedTeaNPPlugin.h: made aware about extern file_logs_initiated + * plugin/icedteanp/IcedTeaPluginUtils.h: (initialize_debug) set file_logs_initiated + to true after initFileLog finishes. (PLUGIN_DEBUG) and (PLUGIN_ERROR) logs to + file only when enabled and initiated. + 2015-09-11 Jiri Vanek Post-release changes diff -r 60ec4f45fb23 -r d2a31f081e48 plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Fri Sep 11 14:18:42 2015 +0200 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Fri Oct 02 15:41:51 2015 +0200 @@ -227,13 +227,14 @@ static guint appletviewer_watch_id = -1; bool debug_initiated = false; +bool file_logs_initiated = false; int plugin_debug = getenv ("ICEDTEAPLUGIN_DEBUG") != NULL; bool plugin_debug_headers = false; bool plugin_debug_to_file = false ; bool plugin_debug_to_streams = true ; bool plugin_debug_to_system = false; bool plugin_debug_to_console = true; -FILE * plugin_file_log; +FILE * plugin_file_log = NULL; std::string plugin_file_log_name; int plugin_debug_suspend = (getenv("ICEDTEAPLUGIN_DEBUG") != NULL) && diff -r 60ec4f45fb23 -r d2a31f081e48 plugin/icedteanp/IcedTeaNPPlugin.h --- a/plugin/icedteanp/IcedTeaNPPlugin.h Fri Sep 11 14:18:42 2015 +0200 +++ b/plugin/icedteanp/IcedTeaNPPlugin.h Fri Oct 02 15:41:51 2015 +0200 @@ -117,6 +117,7 @@ // debug switches extern bool debug_initiated; +extern bool file_logs_initiated; extern int plugin_debug; extern bool plugin_debug_headers; extern bool plugin_debug_to_file; diff -r 60ec4f45fb23 -r d2a31f081e48 plugin/icedteanp/IcedTeaPluginUtils.h --- a/plugin/icedteanp/IcedTeaPluginUtils.h Fri Sep 11 14:18:42 2015 +0200 +++ b/plugin/icedteanp/IcedTeaPluginUtils.h Fri Oct 02 15:41:51 2015 +0200 @@ -85,6 +85,7 @@ plugin_debug_to_console = is_java_console_enabled(); \ if (plugin_debug_to_file) { \ IcedTeaPluginUtilities::initFileLog(); \ + file_logs_initiated = true; \ } \ if (plugin_debug_to_console) { \ /*initialisation done during jvm startup*/ \ @@ -133,7 +134,7 @@ snprintf(ldebug_message, MESSAGE_SIZE, "%s%s", ldebug_header, ldebug_body); \ fprintf (stdout, "%s", ldebug_message);\ } \ - if (plugin_debug_to_file) { \ + if (plugin_debug_to_file && file_logs_initiated) { \ snprintf(ldebug_message, MESSAGE_SIZE, "%s%s", ldebug_header, ldebug_body); \ fprintf (plugin_file_log, "%s", ldebug_message); \ fflush(plugin_file_log); \ @@ -179,7 +180,7 @@ snprintf(ldebug_message, MESSAGE_SIZE, "%s%s", ldebug_header, ldebug_body); \ fprintf (stderr, "%s", ldebug_message); \ } \ - if (plugin_debug_to_file) { \ + if (plugin_debug_to_file && file_logs_initiated) { \ snprintf(ldebug_message, MESSAGE_SIZE, "%s%s", ldebug_header, ldebug_body); \ fprintf (plugin_file_log, "%s", ldebug_message); \ fflush(plugin_file_log); \