]> arthur.barton.de Git - ngircd.git/commitdiff
Make sure SimpleMessage() sends <= 512 chars
authorFlorian Westphal <fw@strlen.de>
Sun, 12 Jun 2005 17:21:46 +0000 (17:21 +0000)
committerFlorian Westphal <fw@strlen.de>
Sun, 12 Jun 2005 17:21:46 +0000 (17:21 +0000)
src/ngircd/conn.c

index 3d0bce07083aa3ed66f23d8ca0ff7dd6d7efef2b..c04327e84ea6ee0f2487ac3a8e63c017f5e0883c 100644 (file)
@@ -16,7 +16,7 @@
 
 #include "portab.h"
 
-static char UNUSED id[] = "$Id: conn.c,v 1.153 2005/06/12 16:28:55 alex Exp $";
+static char UNUSED id[] = "$Id: conn.c,v 1.154 2005/06/12 17:21:46 fw Exp $";
 
 #include "imp.h"
 #include <assert.h>
@@ -1650,15 +1650,16 @@ try_resolve:
 LOCAL void
 Simple_Message( int Sock, char *Msg )
 {
+       char buf[COMMAND_LEN];
        /* Write "simple" message to socket, without using compression
         * or even the connection write buffers. Used e.g. for error
         * messages by New_Connection(). */
-
        assert( Sock > NONE );
        assert( Msg != NULL );
 
-       (void)write( Sock, Msg, strlen( Msg ) );
-       (void)write( Sock, "\r\n", 2 );
+       strlcpy( buf, Msg, sizeof buf - 2);
+       strlcat( buf, "\r\n", sizeof buf);
+       (void)write( Sock, buf, strlen( buf ) );
 } /* Simple_Error */