Commit eb88db24 authored by Chad MILLER's avatar Chad MILLER
Browse files

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.
parent 675610ff
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -6644,17 +6644,15 @@ int initialize_schema_table(st_plugin_int *plugin)
    {
      sql_print_error("Plugin '%s' init function returned error.",
                      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. */
    schema_table->table_name= plugin->name.str;
  }

  DBUG_RETURN(0);
err:
  my_free(schema_table, MYF(0));
  DBUG_RETURN(1);
}

int finalize_schema_table(st_plugin_int *plugin)