about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlexander Barton <alex@barton.de>2002-06-10 21:08:45 +0000
committerAlexander Barton <alex@barton.de>2002-06-10 21:08:45 +0000
commitc3d9c40a74962af1fab908a19f96c84c1f4c95c5 (patch)
tree15b2f4c327afbce1f453830f501c9af196480fb6
parent4014a8ff0d8c71b4566db4738338d44c27835e35 (diff)
downloadngircd-c3d9c40a74962af1fab908a19f96c84c1f4c95c5.tar.gz
ngircd-c3d9c40a74962af1fab908a19f96c84c1f4c95c5.zip
- wurde bei PRIVMSG als Ziel ein Server angegeben, so beendete sich der ngircd mit einem assert().
-rw-r--r--src/ngircd/irc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/ngircd/irc.c b/src/ngircd/irc.c
index ef42e857..e710d1c7 100644
--- a/src/ngircd/irc.c
+++ b/src/ngircd/irc.c
@@ -9,7 +9,7 @@
  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
  * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
  *
- * $Id: irc.c,v 1.91 2002/05/30 16:52:21 alex Exp $
+ * $Id: irc.c,v 1.92 2002/06/10 21:08:45 alex Exp $
  *
  * irc.c: IRC-Befehle
  */
@@ -79,6 +79,9 @@ IRC_PRIVMSG( CLIENT *Client, REQUEST *Req )
 	cl = Client_Search( Req->argv[0] );
 	if( cl )
 	{
+		/* Okay, Ziel ist ein Client. Aber ist es auch ein User? */
+		if( Client_Type( cl ) != CLIENT_USER ) return IRC_WriteStrClient( from, ERR_NOSUCHNICK_MSG, Client_ID( from ), Req->argv[0] );
+
 		/* Okay, Ziel ist ein User */
 		if(( Client_Type( Client ) != CLIENT_SERVER ) && ( strchr( Client_Modes( cl ), 'a' )))
 		{