summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;
+ }
}
}
}