Send disconnect packet before freeing socket data in
authorPekka Riikonen <priikone@silcnet.org>
Sun, 6 Oct 2002 15:08:22 +0000 (15:08 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Sun, 6 Oct 2002 15:08:22 +0000 (15:08 +0000)
silc_server_timeout_remote.

apps/silcd/server.c

index b47652d2038a0d44699a23f92b99d25e6489b095..7ee66b1fe8388b342a2b893db9ed7924b21bacfb 100644 (file)
@@ -3518,15 +3518,15 @@ SILC_TASK_CALLBACK(silc_server_timeout_remote)
     return;
   }
 
-  if (sock->user_data)
-    silc_server_free_sock_user_data(server, sock, NULL);
-
   silc_server_disconnect_remote(server, sock, 
                                protocol == 
                                SILC_PROTOCOL_SERVER_CONNECTION_AUTH ?
                                SILC_STATUS_ERR_AUTH_FAILED :
                                SILC_STATUS_ERR_KEY_EXCHANGE_FAILED,
                                "Connection timeout");
+
+  if (sock->user_data)
+    silc_server_free_sock_user_data(server, sock, NULL);
 }
 
 /* Creates new channel. Sends NEW_CHANNEL packet to primary route. This