From: Alexander Barton Date: Wed, 19 Jan 2005 23:35:42 +0000 (+0000) Subject: Fixed detection of IRC lines which are too long to send. Detected by X-Git-Tag: rel-0-8-2~8 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0eb7ad58d02221b5abb79830176fb5b01e789e1e;p=ngircd Fixed detection of IRC lines which are too long to send. Detected by Florian Westphal, . [from HEAD] --- diff --git a/ChangeLog b/ChangeLog index 0ff6296e..d53ef7fb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,7 @@ ngIRCd - Next Generation IRC Server - (c)2001-2005 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 0.8.x (CVS) + - 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, @@ -547,4 +549,4 @@ ngIRCd 0.0.1, 31.12.2001 -- -$Id: ChangeLog,v 1.233.2.12 2005/01/18 09:09:05 alex Exp $ +$Id: ChangeLog,v 1.233.2.13 2005/01/19 23:35:42 alex Exp $ diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c index 052765c3..326292e5 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.134.2.3 2004/12/25 00:00:42 alex Exp $"; +static char UNUSED id[] = "$Id: conn.c,v 1.134.2.4 2005/01/19 23:35:42 alex Exp $"; #include "imp.h" #include @@ -525,7 +525,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 );