Free plugin identifier on cleanup.

pull/1865/head
Roger A. Light 5 years ago
parent 5d6bdc5de4
commit d8d24e76eb

@ -178,6 +178,7 @@ struct mosquitto__auth_plugin{
void *lib;
void *user_data;
int (*plugin_version)(void);
struct mosquitto_plugin_id_t *identifier;
FUNC_plugin_init_v5 plugin_init_v5;
FUNC_plugin_cleanup_v5 plugin_cleanup_v5;

@ -86,6 +86,7 @@ int plugin__load_v5(struct mosquitto__listener *listener, struct mosquitto__auth
plugin->lib = lib;
plugin->user_data = NULL;
plugin->identifier = pid;
if(plugin->plugin_init_v5){
rc = plugin->plugin_init_v5(pid, &plugin->user_data, options, option_count);

@ -406,6 +406,8 @@ static void security__module_cleanup_single(struct mosquitto__security_options *
opts->auth_plugin_configs[i].plugin.user_data,
opts->auth_plugin_configs[i].options,
opts->auth_plugin_configs[i].option_count);
mosquitto__free(opts->auth_plugin_configs[i].plugin.identifier);
opts->auth_plugin_configs[i].plugin.identifier = NULL;
}else if(opts->auth_plugin_configs[i].plugin.version == 4){
opts->auth_plugin_configs[i].plugin.plugin_cleanup_v4(

Loading…
Cancel
Save