diff options
author | Ralf Habacker <ralf.habacker@freenet.de> | 2009-12-01 11:41:45 +0100 |
---|---|---|
committer | Ralf Habacker <ralf.habacker@freenet.de> | 2009-12-01 11:43:20 +0100 |
commit | c0fa33dc5fd233573e9c211c77acdb36865575e6 (patch) | |
tree | 94acbe1f0acc1494d8b43bf19c6c526dd48142c8 | |
parent | 7c0fbba5b566e339cc71732340b30229f7b0f811 (diff) | |
download | dbus-c0fa33dc5fd233573e9c211c77acdb36865575e6.tar.gz |
fixed crashes accessing not initiated noncefile member struct
-rw-r--r-- | dbus/dbus-server-socket.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/dbus/dbus-server-socket.c b/dbus/dbus-server-socket.c index 9ce0e729..6a8717af 100644 --- a/dbus/dbus-server-socket.c +++ b/dbus/dbus-server-socket.c @@ -188,7 +188,10 @@ socket_handle_watch (DBusWatch *watch, listen_fd = dbus_watch_get_socket (watch); - client_fd = _dbus_accept_with_noncefile (listen_fd, socket_server->noncefile); + if (socket_server->noncefile) + client_fd = _dbus_accept_with_noncefile (listen_fd, socket_server->noncefile); + else + client_fd = _dbus_accept (listen_fd); if (client_fd < 0) { @@ -340,8 +343,11 @@ _dbus_server_new_for_socket (int *fds, return (DBusServer*) socket_server; failed_3: - _dbus_noncefile_delete (socket_server->noncefile, NULL); - dbus_free (socket_server->noncefile ); + if (socket_server->noncefile) + { + _dbus_noncefile_delete (socket_server->noncefile, NULL); + dbus_free (socket_server->noncefile ); + } failed_2: for (i = 0 ; i < n_fds ; i++) { |