aboutsummaryrefslogtreecommitdiffstats
path: root/wsutil
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2016-01-13 13:04:24 +0100
committerMichael Mann <mmann78@netscape.net>2016-01-31 13:31:28 +0000
commit057b8d7dde25f638a13de45d8e3fcb51da7fb28d (patch)
treec032f84c3385ee00545dd7a65a6b43841e3ab4d1 /wsutil
parent2bf715dcc23cb3e8595e2726a9ae419389eeb05e (diff)
plugins: do not import symbols globally
Clang's ASAN reported an ODR violation when plugins were loaded. Sure enough, symbols did actually get loaded twice: ==5898==ERROR: AddressSanitizer: odr-violation (0x7fffd95a35e0): [1] size=7 'version' plugins/mate/plugin.c:19:31 [2] size=6 'version' plugins/opcua/plugin.c:19:31 After this change, plugins cannot insert new symbols in the global namespace. Change-Id: Ib11f7263e9c586f8e7c1f8f5fb239b20d46ddd2f Reviewed-on: https://code.wireshark.org/review/13260 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'wsutil')
-rw-r--r--wsutil/plugins.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/wsutil/plugins.c b/wsutil/plugins.c
index 64a8a66a26..ec3800bdf0 100644
--- a/wsutil/plugins.c
+++ b/wsutil/plugins.c
@@ -172,7 +172,7 @@ plugins_scan_dir(const char *dirname)
g_snprintf(filename, FILENAME_LEN, "%s" G_DIR_SEPARATOR_S "%s",
dirname, name);
- if ((handle = g_module_open(filename, (GModuleFlags)0)) == NULL)
+ if ((handle = g_module_open(filename, G_MODULE_BIND_LOCAL)) == NULL)
{
report_failure("Couldn't load module %s: %s", filename,
g_module_error());