X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fdbus.c;h=67ab1ae7f70ba85bf8a3e134fa9433ff7a06d2b1;hb=4e6db59202ad2dbbef56a69985643390ffdd57bd;hp=62cbf89f647d41667528d55ae85b3bac0815de58;hpb=166de4255ca04814d703cdc4efa479fb6aa391dd;p=elogind.git diff --git a/src/core/dbus.c b/src/core/dbus.c index 62cbf89f6..67ab1ae7f 100644 --- a/src/core/dbus.c +++ b/src/core/dbus.c @@ -203,13 +203,11 @@ static void bus_toggle_watch(DBusWatch *bus_watch, void *data) { } static int bus_timeout_arm(Manager *m, Watch *w) { - struct itimerspec its; + struct itimerspec its = {}; assert(m); assert(w); - zero(its); - if (dbus_timeout_get_enabled(w->data.bus_timeout)) { timespec_store(&its.it_value, dbus_timeout_get_interval(w->data.bus_timeout) * USEC_PER_MSEC); its.it_interval = its.it_value; @@ -978,9 +976,8 @@ static DBusConnection* manager_bus_connect_private(Manager *m, DBusBusType type) } return connection; + fail: - if (connection) - dbus_connection_close(connection); dbus_error_free(&error); return NULL; }