syncevolution/src/gdbus
Zhu, Yongsheng bc7de8351d gdbus c++: fix an issue of DBusClientCall exposed by valgrind (MB#10468)
The issue is to access an invalid memory. The reason is that:
DBusClientCall creates a CallbackData for each dbus call. The
CallbackData itself references the DBusClientCall object. This
object is used to get returned value once the dbus call returns.

However, the typical usage is that DBusClientCall object
is a local variable allocated on the stack. So it is invalid after
existing the stack frame. If using this object in the dbus call
handler, cause a severe problem of reading invalid memory.

The solution is to store an always alive connection object in the
CallbackData instead of DBusClientCall object.
2010-04-09 09:52:07 +02:00
..
test gdbus: allow using private connection 2009-12-04 12:47:47 +01:00
debug.c Update copyright information 2009-10-07 16:07:47 +02:00
debug.h Don't add an extra newline in the debug messages 2009-10-07 16:07:49 +02:00
gdbus-cxx-bridge.h gdbus c++: fix an issue of DBusClientCall exposed by valgrind (MB#10468) 2010-04-09 09:52:07 +02:00
gdbus-cxx.h D-Bus C++: added the possibility to pass Caller ID string and a watch 2009-10-07 16:11:20 +02:00
gdbus.h gdbus: add interface-level callback function 2010-01-26 15:21:05 +08:00
mainloop.c g_dbus_setup_bus(): call dbus_connection_close() when failing to set up private connection 2010-03-03 12:01:12 +01:00
Makefile.am gdbus-cxx: header file must be distributed 2009-11-30 19:41:00 +01:00
object.c gdbus: add interface-level callback function 2010-01-26 15:21:05 +08:00
README exporting of local changes in gdbus 2009-12-09 11:53:02 +01:00
watch.c gdbus: fixed segfault in watch disconnect function 2009-10-07 16:11:19 +02:00

This is a copy of the libgdbus source code:
http://git.kernel.org/?p=bluetooth/libgdbus.git;a=summary

It is licensed under LGPL v2.1, see upstream COPYING.

The source is included here because there is no stable
upstream release. Patches added here need to be submitted
upstream. Likewise, patches applied upstream must be imported.
The build/import-gdbus.sh and build/export-gdbus.sh scripts
automate that process.

To import fixes from upstream:
- checkout out libgdbus and syncevolution
- enter syncevolution directory
- if not done before, create local "gdbus" branch:
  git branch gdbus origin/gdbus
- run build/import-gdbus.sh
- "gdbus" branch is now checked out and updated
- verify changes, merge into master, etc.
- push into remote syncevolution repo

To export fixes to upstream:
- check out relevant branch in syncevolution
  which has our local changes (typically "master")
- run build/export-gdbus.sh
- send 0*.patch files to upstream

Caveats:
- only files explicitly mentioned in the two scripts
  are imported/exports
- Makefile changes are only imported, but not exported
  (local changes not relevant upstream)