summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalf Habacker <ralf.habacker@freenet.de>2009-12-01 11:41:45 +0100
committerRalf Habacker <ralf.habacker@freenet.de>2009-12-01 11:43:20 +0100
commitc0fa33dc5fd233573e9c211c77acdb36865575e6 (patch)
tree94acbe1f0acc1494d8b43bf19c6c526dd48142c8
parent7c0fbba5b566e339cc71732340b30229f7b0f811 (diff)
downloaddbus-c0fa33dc5fd233573e9c211c77acdb36865575e6.tar.gz
fixed crashes accessing not initiated noncefile member struct
-rw-r--r--dbus/dbus-server-socket.c12
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++)
{