diff options
author | Ralf Habacker <ralf.habacker@freenet.de> | 2020-03-11 16:13:47 +0000 |
---|---|---|
committer | Ralf Habacker <ralf.habacker@freenet.de> | 2020-03-11 16:13:47 +0000 |
commit | 07ba6c0a40a7773fd3f63a13f6aeaa13876c9d19 (patch) | |
tree | be133f650f1d633c20137f857f136a247685375e | |
parent | 3197cbe3694b324cd1b3431df34cc2b5d471ff68 (diff) | |
parent | ab705c14cbf284f856d5725eb4843f618f5acdcc (diff) |
Merge branch 'mr143-refactoring' into 'master'
sysdeps-win: Refactor cleanup of struct addrinfo during connect()
See merge request dbus/dbus!145
-rw-r--r-- | dbus/dbus-sysdeps-win.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/dbus/dbus-sysdeps-win.c b/dbus/dbus-sysdeps-win.c index 30cff66d..de7d4d59 100644 --- a/dbus/dbus-sysdeps-win.c +++ b/dbus/dbus-sysdeps-win.c @@ -1509,7 +1509,8 @@ _dbus_connect_tcp_socket_with_nonce (const char *host, 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); @@ -1562,7 +1563,6 @@ _dbus_connect_tcp_socket_with_nonce (const char *host, _dbus_error_from_errno (saved_errno), "Failed to open socket: %s", _dbus_strerror (saved_errno)); - freeaddrinfo(ai); _dbus_socket_invalidate (&fd); goto out; } @@ -1578,7 +1578,6 @@ _dbus_connect_tcp_socket_with_nonce (const char *host, if (connect_error == NULL) { - freeaddrinfo(ai); _DBUS_SET_OOM (error); goto out; } @@ -1593,7 +1592,6 @@ _dbus_connect_tcp_socket_with_nonce (const char *host, { dbus_error_free (connect_error); dbus_free (connect_error); - freeaddrinfo(ai); _DBUS_SET_OOM (error); goto out; } @@ -1604,7 +1602,6 @@ _dbus_connect_tcp_socket_with_nonce (const char *host, break; } - freeaddrinfo(ai); if (!_dbus_socket_is_valid (fd)) { @@ -1639,6 +1636,9 @@ _dbus_connect_tcp_socket_with_nonce (const char *host, } out: + if (ai != NULL) + freeaddrinfo (ai); + while ((connect_error = _dbus_list_pop_first (&connect_errors))) { dbus_error_free (connect_error); |