summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-message.c
diff options
context:
space:
mode:
authorOlivier Andrieu <oliv__a@users.sourceforge.net>2004-04-21 21:29:07 +0000
committerOlivier Andrieu <oliv__a@users.sourceforge.net>2004-04-21 21:29:07 +0000
commitdd8b1b1d654c983ccc040b59143a11f239de0726 (patch)
tree760f61c747accc76c42f16e60d68ef980d43623e /dbus/dbus-message.c
parente5bc30a52c77b3dbfea084b4bd28c4afe541ddd7 (diff)
* dbus/dbus-message.c (decode_header_data, decode_string_field):
fix incorrect setting of .name_offset in the HeaderField (it was off by two bytes, positioned right after the name and typecode) * bus/bus.c (bus_context_new, bus_context_unref): test before calling dbus_server_free_data_slot and _dbus_user_database_unref in case of an error. * tools/Makefile.am: add $(DBUS_GLIB_TOOL_LIBS), xml libs needed by libdbus-gtool.
Diffstat (limited to 'dbus/dbus-message.c')
-rw-r--r--dbus/dbus-message.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c
index 322e5d0b..9066843f 100644
--- a/dbus/dbus-message.c
+++ b/dbus/dbus-message.c
@@ -5018,7 +5018,7 @@ decode_string_field (const DBusString *data,
_dbus_string_init_const (field_data,
_dbus_string_get_const_data (data) + string_data_pos);
- header_field->name_offset = pos;
+ header_field->name_offset = pos - 2;
header_field->value_offset = _DBUS_ALIGN_VALUE (pos, 4);
#if 0
@@ -5188,7 +5188,7 @@ decode_header_data (const DBusString *data,
return FALSE;
}
- fields[field].name_offset = pos;
+ fields[field].name_offset = pos - 2;
fields[field].value_offset = _DBUS_ALIGN_VALUE (pos, 4);
/* No forging signals from the local path */
@@ -5222,7 +5222,7 @@ decode_header_data (const DBusString *data,
return FALSE;
}
- fields[field].name_offset = pos;
+ fields[field].name_offset = pos - 2;
fields[field].value_offset = _DBUS_ALIGN_VALUE (pos, 4);
_dbus_verbose ("Found reply serial %u at offset %d\n",