[evolution-data-server/email-factory] Bug 649433 - e-calendar-factory SIGSEGV while reading hash_table
- From: Srinivasa Ragavan <sragavan src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server/email-factory] Bug 649433 - e-calendar-factory SIGSEGV while reading hash_table
- Date: Tue, 10 May 2011 10:45:03 +0000 (UTC)
commit 6c8408749742888abce0c9fbefc7fc60288f6194
Author: David Woodhouse <David Woodhouse intel com>
Date: Mon May 9 14:37:27 2011 +0100
Bug 649433 - e-calendar-factory SIGSEGV while reading hash_table
The root cause of this issue was modules being loaded with RTLD_GLOBAL, and
having conflicting "global" symbols.
There is no reason for modules to be exporting their own symbols to the rest
of the process; add the G_MODULE_BIND_LOCAL flag to the g_module_open() call
to prevent that.
(cherry picked from commit 671aac12c869626339923eee804f604a1d3c4e3c)
libebackend/e-data-server-module.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/libebackend/e-data-server-module.c b/libebackend/e-data-server-module.c
index 52fb35b..a4f2c4c 100644
--- a/libebackend/e-data-server-module.c
+++ b/libebackend/e-data-server-module.c
@@ -74,7 +74,8 @@ e_data_server_module_load (GTypeModule *gmodule)
module = E_DATA_SERVER_MODULE (gmodule);
- module->library = g_module_open (module->path, G_MODULE_BIND_LAZY);
+ module->library = g_module_open (module->path,
+ G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL);
if (!module->library) {
g_warning ("%s", g_module_error ());
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]