about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ngircd/client.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/ngircd/client.c b/src/ngircd/client.c
index 67c02604..634cecdc 100644
--- a/src/ngircd/client.c
+++ b/src/ngircd/client.c
@@ -1315,12 +1315,14 @@ Client_Reject(CLIENT *Client, const char *Reason, bool InformClient)
 GLOBAL void
 Client_Introduce(CLIENT *From, CLIENT *Client, int Type)
 {
+	int server;
+
 	/* Set client type (user or service) */
 	Client_SetType(Client, Type);
 
 	if (From) {
-		if (Conf_NickIsService(Conf_GetServer(Client_Conn(From)),
-				   Client_ID(Client)))
+		server = Conf_GetServer(Client_Conn(From));
+		if (server > NONE && Conf_NickIsService(server, Client_ID(Client)))
 			Client_SetType(Client, CLIENT_SERVICE);
 		LogDebug("%s \"%s\" (+%s) registered (via %s, on %s, %d hop%s).",
 			 Client_TypeText(Client), Client_Mask(Client),