From d5f0eb59b9f4ecfecdf42f407c2cc6742fa6bfdd Mon Sep 17 00:00:00 2001 From: Alexey Yakovenko Date: Mon, 7 Jul 2014 09:03:50 +0200 Subject: only compare plugin names if ID of one or both plugins NULL --- plugins.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins.c b/plugins.c index 7707f9a3..bf8192cb 100644 --- a/plugins.c +++ b/plugins.c @@ -508,7 +508,7 @@ plug_init_plugin (DB_plugin_t* (*loadfunc)(DB_functions_t *), void *handle) { plugin_t *prev = NULL; for (plugin_t *p = plugins; p; prev = p, p = p->next) { int same_id = p->plugin->id && plugin_api->id && !strcmp (p->plugin->id, plugin_api->id); - int same_name = p->plugin->name && plugin_api->name && !strcmp (p->plugin->name, plugin_api->name); + int same_name = (!p->plugin->id || !plugin_api->id) && p->plugin->name && plugin_api->name && !strcmp (p->plugin->name, plugin_api->name); if (same_id || same_name) { if (plugin_api->version_major > p->plugin->version_major || (plugin_api->version_major == p->plugin->version_major && plugin_api->version_minor > p->plugin->version_minor)) { trace ("found newer version of plugin \"%s\" (%s), replacing\n", plugin_api->id, plugin_api->name); -- cgit v1.2.3