DBusSocket fd = DBUS_SOCKET_INIT;
int res;
struct addrinfo hints;
- struct addrinfo *ai, *tmp;
+ struct addrinfo *ai = NULL;
+ const struct addrinfo *tmp;
DBusError *connect_error;
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
_dbus_error_from_errno (saved_errno),
"Failed to open socket: %s",
_dbus_strerror (saved_errno));
- freeaddrinfo(ai);
_dbus_socket_invalidate (&fd);
goto out;
}
if (connect_error == NULL)
{
- freeaddrinfo(ai);
_DBUS_SET_OOM (error);
goto out;
}
{
dbus_error_free (connect_error);
dbus_free (connect_error);
- freeaddrinfo(ai);
_DBUS_SET_OOM (error);
goto out;
}
break;
}
- freeaddrinfo(ai);
if (!_dbus_socket_is_valid (fd))
{
}
out:
+ if (ai != NULL)
+ freeaddrinfo (ai);
+
while ((connect_error = _dbus_list_pop_first (&connect_errors)))
{
dbus_error_free (connect_error);