From 50c25505f62786756519ef1e194883360eda82e0 Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Sun, 26 Jan 2003 07:48:16 +0000 Subject: 2003-01-26 Havoc Pennington The unit tests pass, but otherwise untested. If it breaks, the tests should have been better. ;-) * bus/driver.c (bus_driver_handle_hello): return if we disconnect the connection. * dbus/dbus-message.c: redo everything so we maintain message->header as the only copy of the various fields. This avoids the possibility of out-of-memory in some cases, for example dbus_message_lock() can't run out of memory anymore, and avoids extra copying. Figured I may as well go ahead and do this since it was busted for dbus_message_lock to not return failure on OOM, and dbus_message_write_header was totally unchecked for OOM. Also fixed some random other bugs. * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify that strings are nul-terminated. Also, end_pos can be equal to string length just not greater than, I think. (_dbus_marshal_set_int32): new function (_dbus_marshal_set_uint32): new function (_dbus_marshal_set_string): new function * dbus/dbus-connection.c (_dbus_connection_new_for_transport): fix a warning, init timeout_list to NULL (dbus_connection_send_message): don't use uninitialized variable "serial" * dbus/dbus-string.c (_dbus_string_replace_len): new function --- dbus/dbus-connection.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'dbus/dbus-connection.c') diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c index 5d69203f..be7384b2 100644 --- a/dbus/dbus-connection.c +++ b/dbus/dbus-connection.c @@ -302,6 +302,7 @@ _dbus_connection_new_for_transport (DBusTransport *transport) watch_list = NULL; connection = NULL; handler_table = NULL; + timeout_list = NULL; watch_list = _dbus_watch_list_new (); if (watch_list == NULL) @@ -657,7 +658,7 @@ dbus_connection_send_message (DBusConnection *connection, } if (client_serial) - *client_serial = serial; + *client_serial = _dbus_message_get_client_serial (message); _dbus_message_lock (message); -- cgit