Bug #57274 SET GLOBAL debug crashes on Solaris in embedded server mode

(variables_debug fails)

The problem was that "SET GLOBAL debug" could cause a crash on Solaris.
The crash happened if the server failed to open the trace file given in 
the "SET GLOBAL debug" statement. This caused an error message to be
printed to stderr containing the process name. However, printing to
stderr crashed the server since the pointer to the process name had
not been initialized.

This patch fixes the problem by initializing the process name 
properly when doing "SET GLOBAL debug".

No test case added as this bug was repeatable with existing test
coverage in variables_debug.test.
This commit is contained in:
Jon Olav Hauglid 2010-10-19 10:19:57 +02:00
parent a3357b55c2
commit 6da8a65bf0

View File

@ -744,6 +744,7 @@ void _db_set_init_(const char *control)
CODE_STATE tmp_cs; CODE_STATE tmp_cs;
bzero((uchar*) &tmp_cs, sizeof(tmp_cs)); bzero((uchar*) &tmp_cs, sizeof(tmp_cs));
tmp_cs.stack= &init_settings; tmp_cs.stack= &init_settings;
tmp_cs.process= db_process ? db_process : "dbug";
DbugParse(&tmp_cs, control); DbugParse(&tmp_cs, control);
} }