From 8dde6db3b71f9f5ebb1dc13322b756d47706c591 Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Tue, 7 Jan 2003 20:41:20 +0000 Subject: [PATCH] Assure ctx->sock isn't accessed after connection is closed. --- apps/silcd/server_backup.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/silcd/server_backup.c b/apps/silcd/server_backup.c index 78634fe2..832ecb3a 100644 --- a/apps/silcd/server_backup.c +++ b/apps/silcd/server_backup.c @@ -1257,6 +1257,8 @@ SILC_TASK_CALLBACK(silc_server_protocol_backup_done) protocol->state == SILC_PROTOCOL_STATE_FAILURE) { server->backup_noswitch = TRUE; server->server_type = SILC_BACKUP_ROUTER; + if (ctx->sock == sock) + ctx->sock = NULL; if (sock->user_data) silc_server_free_sock_user_data(server, sock, NULL); @@ -1300,6 +1302,8 @@ SILC_TASK_CALLBACK(silc_server_protocol_backup_done) protocol->state == SILC_PROTOCOL_STATE_FAILURE) { server->backup_noswitch = TRUE; server->server_type = SILC_BACKUP_ROUTER; + if (ctx->sock == sock) + ctx->sock = NULL; if (sock->user_data) silc_server_free_sock_user_data(server, sock, NULL); @@ -1332,7 +1336,7 @@ SILC_TASK_CALLBACK(silc_server_protocol_backup_done) protocol->state != SILC_PROTOCOL_STATE_FAILURE) SILC_LOG_INFO(("Backup resuming protocol ended successfully")); - if (ctx->sock->protocol) + if (ctx->sock && ctx->sock->protocol) ctx->sock->protocol = NULL; silc_protocol_free(protocol); silc_free(ctx->sessions); -- 2.43.0