From: Alexander Barton Date: Wed, 19 Jan 2005 23:33:53 +0000 (+0000) Subject: Fixed detection of IRC lines which are too long to send. Detected by X-Git-Tag: rel-0-9-0-pre1~130 X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a40a026d15dade55b0017979b180998b5aa6d54a;hp=6c5f4beb53d5e37fefe017cf28c513c44cfda1af;p=ngircd.git Fixed detection of IRC lines which are too long to send. Detected by Florian Westphal, . --- diff --git a/ChangeLog b/ChangeLog index 6e24d3b6..f659b44e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,7 @@ ngIRCd - Next Generation IRC Server - (c)2001-2004 by Alexander Barton, + (c)2001-2005 Alexander Barton, alex@barton.de, http://www.barton.de/ ngIRCd is free software and published under the @@ -12,6 +12,8 @@ ngIRCd CVSHEAD + - Fixed detection of IRC lines which are too long to send. Detected by + Florian Westphal, . - Fixed return values of our own implementation of strlcpy(). The code has been taken from rsync and they fixed it, but we didn't until today :-/ It has only been used when the system didn't implement strlcpy by itself, @@ -561,4 +563,4 @@ ngIRCd 0.0.1, 31.12.2001 -- -$Id: ChangeLog,v 1.251 2005/01/18 09:05:37 alex Exp $ +$Id: ChangeLog,v 1.252 2005/01/19 23:33:53 alex Exp $ diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c index aad61494..ba874f8a 100644 --- a/src/ngircd/conn.c +++ b/src/ngircd/conn.c @@ -16,7 +16,7 @@ #include "portab.h" -static char UNUSED id[] = "$Id: conn.c,v 1.142 2005/01/17 11:57:39 alex Exp $"; +static char UNUSED id[] = "$Id: conn.c,v 1.143 2005/01/19 23:33:54 alex Exp $"; #include "imp.h" #include @@ -529,7 +529,7 @@ va_dcl #else va_start( ap ); #endif - if( vsnprintf( buffer, COMMAND_LEN - 2, Format, ap ) == COMMAND_LEN - 2 ) + if( vsnprintf( buffer, COMMAND_LEN - 2, Format, ap ) >= COMMAND_LEN - 2 ) { Log( LOG_CRIT, "Text too long to send (connection %d)!", Idx ); Conn_Close( Idx, "Text too long to send!", NULL, FALSE );