Commit c4afc041 authored by Georgi Kodinov's avatar Georgi Kodinov

Bug #57559: Crash in Client plugin api

The plugin code was releasing the plugin and 
only then was reporting an error referencing it.
Fixed by first reporting an error and then freeing up
the plugin.
parent 376090ca
...@@ -176,11 +176,11 @@ add_plugin(MYSQL *mysql, struct st_mysql_client_plugin *plugin, void *dlhandle, ...@@ -176,11 +176,11 @@ add_plugin(MYSQL *mysql, struct st_mysql_client_plugin *plugin, void *dlhandle,
if (plugin->deinit) if (plugin->deinit)
plugin->deinit(); plugin->deinit();
err1: err1:
if (dlhandle)
dlclose(dlhandle);
set_mysql_extended_error(mysql, CR_AUTH_PLUGIN_CANNOT_LOAD, unknown_sqlstate, set_mysql_extended_error(mysql, CR_AUTH_PLUGIN_CANNOT_LOAD, unknown_sqlstate,
ER(CR_AUTH_PLUGIN_CANNOT_LOAD), plugin->name, ER(CR_AUTH_PLUGIN_CANNOT_LOAD), plugin->name,
errmsg); errmsg);
if (dlhandle)
dlclose(dlhandle);
return NULL; return NULL;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment