]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
* dbus/dbus-message.c (decode_header_data, decode_string_field):
authorOlivier Andrieu <oliv__a@users.sourceforge.net>
Wed, 21 Apr 2004 21:29:07 +0000 (21:29 +0000)
committerOlivier Andrieu <oliv__a@users.sourceforge.net>
Wed, 21 Apr 2004 21:29:07 +0000 (21:29 +0000)
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.

ChangeLog
bus/bus.c
dbus/dbus-message.c
tools/Makefile.am

index 3ed69cf9b9fc8d75fbdefe44b6eb14a84bbfbc87..ec26cf6303d95577a091b323b37ef4b340b0e138 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2004-04-21  Olivier Andrieu  <oliv__a@users.sourceforge.net>
+
+       * 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.
+
 2004-04-19  Kristian Høgsberg  <krh@redhat.com>
 
        * dbus/dbus-transport-unix.c (unix_do_iteration): Rewrite to use
index 32a5760ca483cb5300aadda6d03d317ae8b30852..79611548232b20b2a3244d8fb6ad359f4f221f2d 100644 (file)
--- a/bus/bus.c
+++ b/bus/bus.c
@@ -753,7 +753,8 @@ bus_context_new (const DBusString *config_file,
   if (context != NULL)
     bus_context_unref (context);
 
-  dbus_server_free_data_slot (&server_data_slot);
+  if (server_data_slot >= 0)
+    dbus_server_free_data_slot (&server_data_slot);
   
   return NULL;
 }
@@ -890,7 +891,8 @@ bus_context_unref (BusContext *context)
           dbus_free (context->pidfile); 
        }
 
-      _dbus_user_database_unref (context->user_database);
+      if (context->user_database != NULL)
+       _dbus_user_database_unref (context->user_database);
       
       dbus_free (context);
 
index 322e5d0bf839ed3a478448112b632197257c529b..9066843f519d0013224dbf2cf799ed297c9175c5 100644 (file)
@@ -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",
index a6a38a97ae1492da45b660a0e4dd308d10ea70d1..d3accc881ea2b9006324f6d581ae87a1b62f3b4d 100644 (file)
@@ -38,7 +38,7 @@ dbus_viewer_SOURCES=                          \
 dbus_send_LDADD= $(top_builddir)/dbus/libdbus-1.la
 dbus_monitor_LDADD= $(top_builddir)/glib/libdbus-glib-1.la
 dbus_launch_LDADD= $(DBUS_X_LIBS)
-dbus_viewer_LDADD= $(top_builddir)/glib/libdbus-gtool.la $(DBUS_GTK_LIBS)
+dbus_viewer_LDADD= $(DBUS_GLIB_TOOL_LIBS) $(top_builddir)/glib/libdbus-gtool.la $(DBUS_GTK_LIBS)
 
 man_MANS = dbus-send.1 dbus-monitor.1 dbus-launch.1 dbus-cleanup-sockets.1
 EXTRA_DIST = $(man_MANS)