summaryrefslogtreecommitdiffstats
path: root/source3/auth/auth_server.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2003-11-10 19:33:42 +0000
committerJeremy Allison <jra@samba.org>2003-11-10 19:33:42 +0000
commit33e6af5b3d8db3e0c4a7eabacf3be1c849805c84 (patch)
treefa527f9ad48fe1bc380bad7790530b3e41f8b7bb /source3/auth/auth_server.c
parent970c1c73db7e2df961af286af609a95d415b5811 (diff)
downloadsamba-33e6af5b3d8db3e0c4a7eabacf3be1c849805c84.tar.gz
samba-33e6af5b3d8db3e0c4a7eabacf3be1c849805c84.tar.xz
samba-33e6af5b3d8db3e0c4a7eabacf3be1c849805c84.zip
Patch from Andrew Bartlett <abartlet@samba.org> for security=server core
dump if server goes away. Jeremy. (This used to be commit e61324cc6a222ca714530827068104f7a74c0911)
Diffstat (limited to 'source3/auth/auth_server.c')
-rw-r--r--source3/auth/auth_server.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/source3/auth/auth_server.c b/source3/auth/auth_server.c
index 30e0e13a56..b57293943c 100644
--- a/source3/auth/auth_server.c
+++ b/source3/auth/auth_server.c
@@ -153,14 +153,16 @@ static void free_server_private_data(void **private_data_pointer)
static void send_server_keepalive(void **private_data_pointer)
{
- struct cli_state **cli = (struct cli_state **)private_data_pointer;
-
/* also send a keepalive to the password server if its still
connected */
- if (cli && *cli && (*cli)->initialised) {
- if (!send_keepalive((*cli)->fd)) {
- DEBUG( 2, ( "password server keepalive failed.\n"));
- cli_shutdown(*cli);
+ if (private_data_pointer) {
+ struct cli_state *cli = (struct cli_state *)(*private_data_pointer);
+ if (cli && cli->initialised) {
+ if (!send_keepalive(cli->fd)) {
+ DEBUG( 2, ( "send_server_keepalive: password server keepalive failed.\n"));
+ cli_shutdown(cli);
+ *private_data_pointer = NULL;
+ }
}
}
}