Fix for bug#36399: Double free bug when INFORMATION_SCHEMA
plugin init function fails Problem: if an INFORMATION_SCHEMA plugin initialization fails we free some inner plugin's data (schema_table) twice during the INSTALL PLUGIN command. Fix: free it once.
This commit is contained in:
parent
675610ff8d
commit
eb88db2485
@ -6644,17 +6644,15 @@ int initialize_schema_table(st_plugin_int *plugin)
|
|||||||
{
|
{
|
||||||
sql_print_error("Plugin '%s' init function returned error.",
|
sql_print_error("Plugin '%s' init function returned error.",
|
||||||
plugin->name.str);
|
plugin->name.str);
|
||||||
goto err;
|
plugin->data= NULL;
|
||||||
|
my_free(schema_table, MYF(0));
|
||||||
|
DBUG_RETURN(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Make sure the plugin name is not set inside the init() function. */
|
/* Make sure the plugin name is not set inside the init() function. */
|
||||||
schema_table->table_name= plugin->name.str;
|
schema_table->table_name= plugin->name.str;
|
||||||
}
|
}
|
||||||
|
|
||||||
DBUG_RETURN(0);
|
DBUG_RETURN(0);
|
||||||
err:
|
|
||||||
my_free(schema_table, MYF(0));
|
|
||||||
DBUG_RETURN(1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int finalize_schema_table(st_plugin_int *plugin)
|
int finalize_schema_table(st_plugin_int *plugin)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user