X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvat%2Fplugin.c;h=5c7045415a823e3c5ff256753898c9bf7b5bd1fc;hb=e26c81f;hp=c1cc928c217746a203c5b1e8212de81ef5692947;hpb=7cd468a3d7dee7d6c92f69a0bb7061ae208ec727;p=vpp.git diff --git a/src/vat/plugin.c b/src/vat/plugin.c index c1cc928c217..5c7045415a8 100644 --- a/src/vat/plugin.c +++ b/src/vat/plugin.c @@ -40,14 +40,19 @@ load_one_plugin (plugin_main_t * pm, plugin_info_t * pi) if (handle == 0) { clib_warning ("%s", dlerror ()); - return -1; + return 0; } pi->handle = handle; register_handle = dlsym (pi->handle, "vat_plugin_register"); if (register_handle == 0) - return 0; + { + clib_warning ("%s: symbol vat_plugin_register not found", pi->name); + dlclose (handle); + return 0; + } + fp = register_handle; @@ -152,7 +157,7 @@ vat_load_new_plugins (plugin_main_t * pm) _vec_len (pm->plugin_info) = vec_len (pm->plugin_info) - 1; continue; } - memset (pi, 0, sizeof (*pi)); + clib_memset (pi, 0, sizeof (*pi)); hash_set_mem (pm->plugin_by_name_hash, plugin_name, pi - pm->plugin_info); } @@ -181,7 +186,6 @@ vat_plugin_init (vat_main_t * vam) { plugin_main_t *pm = &vat_plugin_main; - pm->plugin_path = format (0, "%s%c", vat_plugin_path, 0); if (vat_plugin_name_filter) pm->plugin_name_filter = format (0, "%s%c", vat_plugin_name_filter, 0);