diff options
Diffstat (limited to 'bus/connection.c')
| -rw-r--r-- | bus/connection.c | 15 | 
1 files changed, 9 insertions, 6 deletions
diff --git a/bus/connection.c b/bus/connection.c index 05532dba..70a0eb15 100644 --- a/bus/connection.c +++ b/bus/connection.c @@ -533,7 +533,7 @@ bus_connections_setup_connection (BusConnections *connections,    d->connections = connections;    d->connection = connection; - +      _dbus_get_current_time (&d->connection_tv_sec,                            &d->connection_tv_usec); @@ -643,18 +643,21 @@ bus_connections_setup_connection (BusConnections *connections,        dbus_connection_set_dispatch_status_function (connection,                                                      NULL, NULL, NULL); -       -      if (!dbus_connection_set_data (connection, -                                     connection_data_slot, -                                     NULL, NULL)) -        _dbus_assert_not_reached ("failed to set connection data to null");        if (d->link_in_connection_list != NULL)          {            _dbus_assert (d->link_in_connection_list->next == NULL);            _dbus_assert (d->link_in_connection_list->prev == NULL);            _dbus_list_free_link (d->link_in_connection_list); +          d->link_in_connection_list = NULL;          } +       +      if (!dbus_connection_set_data (connection, +                                     connection_data_slot, +                                     NULL, NULL)) +        _dbus_assert_not_reached ("failed to set connection data to null"); + +      /* "d" has now been freed */      }    return retval;  | 
