diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2022-02-08 17:15:05 +0400 |
---|---|---|
committer | Simon McVittie <smcv@collabora.com> | 2022-07-15 16:26:18 +0100 |
commit | 7d20a3c6049f96f396ac757a6954554dfb6452c8 (patch) | |
tree | eafb0ed3ae15546245906b56033512c3775f6315 | |
parent | c100e6e9e531457313292fb7c2b80a2fbd2c78bc (diff) | |
download | dbus-7d20a3c6049f96f396ac757a6954554dfb6452c8.tar.gz |
dbus: make _dbus_close_socket() take DBusSocket*
This will allow to invalidate the socket in the following commit.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
-rw-r--r-- | bus/dispatch.c | 8 | ||||
-rw-r--r-- | bus/main.c | 4 | ||||
-rw-r--r-- | dbus/dbus-nonce.c | 2 | ||||
-rw-r--r-- | dbus/dbus-server-debug-pipe.c | 6 | ||||
-rw-r--r-- | dbus/dbus-server-socket.c | 6 | ||||
-rw-r--r-- | dbus/dbus-server-unix.c | 4 | ||||
-rw-r--r-- | dbus/dbus-spawn-unix.c | 2 | ||||
-rw-r--r-- | dbus/dbus-spawn-win.c | 4 | ||||
-rw-r--r-- | dbus/dbus-sysdeps-unix.c | 7 | ||||
-rw-r--r-- | dbus/dbus-sysdeps-win.c | 11 | ||||
-rw-r--r-- | dbus/dbus-sysdeps.h | 2 | ||||
-rw-r--r-- | dbus/dbus-transport-socket.c | 4 | ||||
-rw-r--r-- | dbus/dbus-transport-unix.c | 4 |
13 files changed, 34 insertions, 30 deletions
diff --git a/bus/dispatch.c b/bus/dispatch.c index c3019b1e..3f985261 100644 --- a/bus/dispatch.c +++ b/bus/dispatch.c @@ -5181,9 +5181,9 @@ bus_unix_fds_passing_test (const char *test_data_dir_cstr) DBUS_TYPE_INVALID)) _dbus_test_fatal ("Failed to attach fds."); - if (!_dbus_close_socket (one[0], &error)) + if (!_dbus_close_socket (&one[0], &error)) _dbus_test_fatal ("Failed to close pipe #1 "); - if (!_dbus_close_socket (two[0], &error)) + if (!_dbus_close_socket (&two[0], &error)) _dbus_test_fatal ("Failed to close pipe #2 "); if (!(dbus_connection_can_send_type(foo, DBUS_TYPE_UNIX_FD))) @@ -5250,9 +5250,9 @@ bus_unix_fds_passing_test (const char *test_data_dir_cstr) if (read(two[1].fd, &r, 1) != 1 || r != 'Z') _dbus_test_fatal ("Failed to read value from pipe."); - if (!_dbus_close_socket (one[1], &error)) + if (!_dbus_close_socket (&one[1], &error)) _dbus_test_fatal ("Failed to close pipe #1 "); - if (!_dbus_close_socket (two[1], &error)) + if (!_dbus_close_socket (&two[1], &error)) _dbus_test_fatal ("Failed to close pipe #2 "); _dbus_verbose ("Disconnecting foo\n"); @@ -387,10 +387,10 @@ close_reload_pipe (DBusWatch **watch) _dbus_watch_unref (*watch); *watch = NULL; - _dbus_close_socket (reload_pipe[RELOAD_READ_END], NULL); + _dbus_close_socket (&reload_pipe[RELOAD_READ_END], NULL); _dbus_socket_invalidate (&reload_pipe[RELOAD_READ_END]); - _dbus_close_socket (reload_pipe[RELOAD_WRITE_END], NULL); + _dbus_close_socket (&reload_pipe[RELOAD_WRITE_END], NULL); _dbus_socket_invalidate (&reload_pipe[RELOAD_WRITE_END]); } #endif /* DBUS_UNIX */ diff --git a/dbus/dbus-nonce.c b/dbus/dbus-nonce.c index ef5eb617..fe86fb12 100644 --- a/dbus/dbus-nonce.c +++ b/dbus/dbus-nonce.c @@ -194,7 +194,7 @@ _dbus_accept_with_noncefile (DBusSocket listen_fd, const DBusNonceFile *noncefil if (do_check_nonce(fd, &nonce, NULL) != TRUE) { _dbus_verbose ("nonce check failed. Closing socket.\n"); - _dbus_close_socket(fd, NULL); + _dbus_close_socket (&fd, NULL); _dbus_socket_invalidate (&fd); goto out; } diff --git a/dbus/dbus-server-debug-pipe.c b/dbus/dbus-server-debug-pipe.c index c396bc82..4f9f4ffb 100644 --- a/dbus/dbus-server-debug-pipe.c +++ b/dbus/dbus-server-debug-pipe.c @@ -260,8 +260,8 @@ _dbus_transport_debug_pipe_new (const char *server_name, NULL, &address); if (client_transport == NULL) { - _dbus_close_socket (client_fd, NULL); - _dbus_close_socket (server_fd, NULL); + _dbus_close_socket (&client_fd, NULL); + _dbus_close_socket (&server_fd, NULL); dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL); _dbus_string_free (&address); return NULL; @@ -276,7 +276,7 @@ _dbus_transport_debug_pipe_new (const char *server_name, if (server_transport == NULL) { _dbus_transport_unref (client_transport); - _dbus_close_socket (server_fd, NULL); + _dbus_close_socket (&server_fd, NULL); dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL); return NULL; } diff --git a/dbus/dbus-server-socket.c b/dbus/dbus-server-socket.c index bc5e3a9d..3bab5960 100644 --- a/dbus/dbus-server-socket.c +++ b/dbus/dbus-server-socket.c @@ -103,7 +103,7 @@ handle_new_client_fd_and_unlock (DBusServer *server, transport = _dbus_transport_new_for_socket (client_fd, &server->guid_hex, NULL); if (transport == NULL) { - _dbus_close_socket (client_fd, NULL); + _dbus_close_socket (&client_fd, NULL); SERVER_UNLOCK (server); return FALSE; } @@ -243,7 +243,7 @@ socket_disconnect (DBusServer *server) if (_dbus_socket_is_valid (socket_server->fds[i])) { - _dbus_close_socket (socket_server->fds[i], NULL); + _dbus_close_socket (&socket_server->fds[i], NULL); _dbus_socket_invalidate (&socket_server->fds[i]); } } @@ -513,7 +513,7 @@ failed: if (listen_fds != NULL) { for (i = 0; i < nlisten_fds; i++) - _dbus_close_socket (listen_fds[i], NULL); + _dbus_close_socket (&listen_fds[i], NULL); dbus_free (listen_fds); } diff --git a/dbus/dbus-server-unix.c b/dbus/dbus-server-unix.c index c7ace2bc..1471cd82 100644 --- a/dbus/dbus-server-unix.c +++ b/dbus/dbus-server-unix.c @@ -258,7 +258,7 @@ _dbus_server_listen_platform_specific (DBusAddressEntry *entry, systemd_err: for (i = 0; i < n; i++) { - _dbus_close_socket (fds[i], NULL); + _dbus_close_socket (&fds[i], NULL); } dbus_free (fds); _dbus_string_free (&address); @@ -372,7 +372,7 @@ _dbus_server_new_for_domain_socket (const char *path, return server; failed_2: - _dbus_close_socket (listen_fd, NULL); + _dbus_close_socket (&listen_fd, NULL); failed_1: dbus_free (path_copy); failed_0: diff --git a/dbus/dbus-spawn-unix.c b/dbus/dbus-spawn-unix.c index f3577e70..fb5b4267 100644 --- a/dbus/dbus-spawn-unix.c +++ b/dbus/dbus-spawn-unix.c @@ -560,7 +560,7 @@ close_socket_to_babysitter (DBusBabysitter *sitter) if (sitter->socket_to_babysitter.fd >= 0) { - _dbus_close_socket (sitter->socket_to_babysitter, NULL); + _dbus_close_socket (&sitter->socket_to_babysitter, NULL); sitter->socket_to_babysitter.fd = -1; } } diff --git a/dbus/dbus-spawn-win.c b/dbus/dbus-spawn-win.c index 61961901..c879688d 100644 --- a/dbus/dbus-spawn-win.c +++ b/dbus/dbus-spawn-win.c @@ -160,7 +160,7 @@ close_socket_to_babysitter (DBusBabysitter *sitter) if (sitter->socket_to_babysitter.sock != INVALID_SOCKET) { - _dbus_close_socket (sitter->socket_to_babysitter, NULL); + _dbus_close_socket (&sitter->socket_to_babysitter, NULL); sitter->socket_to_babysitter.sock = INVALID_SOCKET; } } @@ -188,7 +188,7 @@ _dbus_babysitter_unref (DBusBabysitter *sitter) if (sitter->socket_to_main.sock != INVALID_SOCKET) { - _dbus_close_socket (sitter->socket_to_main, NULL); + _dbus_close_socket (&sitter->socket_to_main, NULL); sitter->socket_to_main.sock = INVALID_SOCKET; } diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c index a7856e77..152a3862 100644 --- a/dbus/dbus-sysdeps-unix.c +++ b/dbus/dbus-sysdeps-unix.c @@ -305,10 +305,13 @@ _dbus_open_unix_socket (int *fd, * @returns #FALSE if error is set */ dbus_bool_t -_dbus_close_socket (DBusSocket fd, +_dbus_close_socket (DBusSocket *fd, DBusError *error) { - return _dbus_close (fd.fd, error); + _dbus_assert (fd != NULL); + _DBUS_ASSERT_ERROR_IS_CLEAR (error); + + return _dbus_close (fd->fd, error); } /** diff --git a/dbus/dbus-sysdeps-win.c b/dbus/dbus-sysdeps-win.c index 9b8d1889..44566214 100644 --- a/dbus/dbus-sysdeps-win.c +++ b/dbus/dbus-sysdeps-win.c @@ -490,13 +490,14 @@ _dbus_write_socket (DBusSocket fd, * @returns #FALSE if error set */ dbus_bool_t -_dbus_close_socket (DBusSocket fd, - DBusError *error) +_dbus_close_socket (DBusSocket *fd, + DBusError *error) { + _dbus_assert (fd != NULL); _DBUS_ASSERT_ERROR_IS_CLEAR (error); again: - if (closesocket (fd.sock) == SOCKET_ERROR) + if (closesocket (fd->sock) == SOCKET_ERROR) { DBUS_SOCKET_SET_ERRNO (); @@ -505,10 +506,10 @@ _dbus_close_socket (DBusSocket fd, dbus_set_error (error, _dbus_error_from_errno (errno), "Could not close socket: socket=%Iu, , %s", - fd.sock, _dbus_strerror_from_errno ()); + fd->sock, _dbus_strerror_from_errno ()); return FALSE; } - _dbus_verbose ("socket=%Iu, \n", fd.sock); + _dbus_verbose ("socket=%Iu, \n", fd->sock); return TRUE; } diff --git a/dbus/dbus-sysdeps.h b/dbus/dbus-sysdeps.h index 0e51b32c..887a0ce6 100644 --- a/dbus/dbus-sysdeps.h +++ b/dbus/dbus-sysdeps.h @@ -212,7 +212,7 @@ dbus_bool_t _dbus_set_socket_nonblocking (DBusSocket fd, DBusError *error); DBUS_PRIVATE_EXPORT -dbus_bool_t _dbus_close_socket (DBusSocket fd, +dbus_bool_t _dbus_close_socket (DBusSocket *fd, DBusError *error); DBUS_PRIVATE_EXPORT int _dbus_read_socket (DBusSocket fd, diff --git a/dbus/dbus-transport-socket.c b/dbus/dbus-transport-socket.c index fa1307bd..37560b11 100644 --- a/dbus/dbus-transport-socket.c +++ b/dbus/dbus-transport-socket.c @@ -1042,7 +1042,7 @@ socket_disconnect (DBusTransport *transport) free_watches (transport); - _dbus_close_socket (socket_transport->fd, NULL); + _dbus_close_socket (&socket_transport->fd, NULL); _dbus_socket_invalidate (&socket_transport->fd); } @@ -1430,7 +1430,7 @@ _dbus_transport_new_for_tcp_socket (const char *host, if (transport == NULL) { dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL); - _dbus_close_socket (fd, NULL); + _dbus_close_socket (&fd, NULL); _dbus_socket_invalidate (&fd); } diff --git a/dbus/dbus-transport-unix.c b/dbus/dbus-transport-unix.c index 30c3ba44..99822fbf 100644 --- a/dbus/dbus-transport-unix.c +++ b/dbus/dbus-transport-unix.c @@ -103,7 +103,7 @@ _dbus_transport_new_for_domain_socket (const char *path, return transport; failed_1: - _dbus_close_socket (fd, NULL); + _dbus_close_socket (&fd, NULL); failed_0: _dbus_string_free (&address); return NULL; @@ -203,7 +203,7 @@ _dbus_transport_new_for_exec (const char *path, failed: if (fd.fd >= 0) - _dbus_close_socket (fd, NULL); + _dbus_close_socket (&fd, NULL); _dbus_string_free (&address); return NULL; |