1
0
mirror of https://github.com/osmarks/ngircd.git synced 2024-10-28 12:56:18 +00:00

- "format-string-bugs", die zum Abbruch des Servers fuehrten, behoben.

This commit is contained in:
Alexander Barton 2002-10-04 11:21:46 +00:00
parent 74ff9828de
commit ec474a4bd2
6 changed files with 24 additions and 24 deletions

View File

@ -9,7 +9,7 @@
* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
* *
* $Id: conf.c,v 1.31 2002/10/03 21:49:59 alex Exp $ * $Id: conf.c,v 1.32 2002/10/04 11:21:46 alex Exp $
* *
* conf.h: Konfiguration des ngircd * conf.h: Konfiguration des ngircd
*/ */
@ -584,7 +584,7 @@ va_dcl
/* Im "normalen Betrieb" soll der Log-Mechanismus des ngIRCd verwendet /* Im "normalen Betrieb" soll der Log-Mechanismus des ngIRCd verwendet
* werden, beim Testen der Konfiguration jedoch nicht, hier sollen alle * werden, beim Testen der Konfiguration jedoch nicht, hier sollen alle
* Meldungen direkt auf die Konsole ausgegeben werden: */ * Meldungen direkt auf die Konsole ausgegeben werden: */
if( Use_Log ) Log( Level, msg ); if( Use_Log ) Log( Level, "%s", msg );
else puts( msg ); else puts( msg );
} /* Config_Error */ } /* Config_Error */

View File

@ -9,7 +9,7 @@
* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
* *
* $Id: irc-server.c,v 1.17 2002/09/07 17:57:31 alex Exp $ * $Id: irc-server.c,v 1.18 2002/10/04 11:21:46 alex Exp $
* *
* irc-server.c: IRC-Befehle fuer Server-Links * irc-server.c: IRC-Befehle fuer Server-Links
*/ */
@ -188,7 +188,7 @@ IRC_SERVER( CLIENT *Client, REQUEST *Req )
if( strlen( str ) > ( LINE_LEN - CLIENT_NICK_LEN - 8 )) if( strlen( str ) > ( LINE_LEN - CLIENT_NICK_LEN - 8 ))
{ {
/* Zeile senden */ /* Zeile senden */
if( ! IRC_WriteStrClient( Client, str )) return DISCONNECTED; if( ! IRC_WriteStrClient( Client, "%s", str )) return DISCONNECTED;
sprintf( str, "NJOIN %s :", Channel_Name( chan )); sprintf( str, "NJOIN %s :", Channel_Name( chan ));
} }
@ -199,7 +199,7 @@ IRC_SERVER( CLIENT *Client, REQUEST *Req )
if( str[strlen( str ) - 1] != ':') if( str[strlen( str ) - 1] != ':')
{ {
/* Ja; Also senden ... */ /* Ja; Also senden ... */
if( ! IRC_WriteStrClient( Client, str )) return DISCONNECTED; if( ! IRC_WriteStrClient( Client, "%s", str )) return DISCONNECTED;
} }
/* naechsten Channel suchen */ /* naechsten Channel suchen */

View File

@ -9,7 +9,7 @@
* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
* *
* $Id: irc-write.c,v 1.8 2002/09/17 17:11:56 alex Exp $ * $Id: irc-write.c,v 1.9 2002/10/04 11:21:46 alex Exp $
* *
* irc-write.c: IRC-Texte und Befehle ueber Netzwerk versenden * irc-write.c: IRC-Texte und Befehle ueber Netzwerk versenden
*/ */
@ -62,7 +62,7 @@ va_dcl
va_end( ap ); va_end( ap );
/* an den Client selber */ /* an den Client selber */
ok = IRC_WriteStrClientPrefix( Client, Client_ThisServer( ), buffer ); ok = IRC_WriteStrClientPrefix( Client, Client_ThisServer( ), "%s", buffer );
return ok; return ok;
} /* IRC_WriteStrClient */ } /* IRC_WriteStrClient */
@ -128,7 +128,7 @@ va_dcl
vsnprintf( buffer, 1000, Format, ap ); vsnprintf( buffer, 1000, Format, ap );
va_end( ap ); va_end( ap );
return IRC_WriteStrChannelPrefix( Client, Chan, Client_ThisServer( ), Remote, buffer ); return IRC_WriteStrChannelPrefix( Client, Chan, Client_ThisServer( ), Remote, "%s", buffer );
} /* IRC_WriteStrChannel */ } /* IRC_WriteStrChannel */
@ -233,7 +233,7 @@ va_dcl
va_end( ap ); va_end( ap );
/* an den Client selber */ /* an den Client selber */
IRC_WriteStrServersPrefix( ExceptOf, Client_ThisServer( ), buffer ); IRC_WriteStrServersPrefix( ExceptOf, Client_ThisServer( ), "%s", buffer );
} /* IRC_WriteStrServers */ } /* IRC_WriteStrServers */
@ -263,7 +263,7 @@ va_dcl
vsnprintf( buffer, 1000, Format, ap ); vsnprintf( buffer, 1000, Format, ap );
va_end( ap ); va_end( ap );
IRC_WriteStrServersPrefixFlag( ExceptOf, Prefix, '\0', buffer ); IRC_WriteStrServersPrefixFlag( ExceptOf, Prefix, '\0', "%s", buffer );
} /* IRC_WriteStrServersPrefix */ } /* IRC_WriteStrServersPrefix */
@ -301,7 +301,7 @@ va_dcl
if(( Client_Type( c ) == CLIENT_SERVER ) && ( Client_Conn( c ) > NONE ) && ( c != Client_ThisServer( )) && ( c != ExceptOf )) if(( Client_Type( c ) == CLIENT_SERVER ) && ( Client_Conn( c ) > NONE ) && ( c != Client_ThisServer( )) && ( c != ExceptOf ))
{ {
/* Ziel-Server gefunden. Nun noch pruefen, ob Flags stimmen */ /* Ziel-Server gefunden. Nun noch pruefen, ob Flags stimmen */
if(( Flag == '\0' ) || ( strchr( Client_Flags( c ), Flag ) != NULL )) IRC_WriteStrClientPrefix( c, Prefix, buffer ); if(( Flag == '\0' ) || ( strchr( Client_Flags( c ), Flag ) != NULL )) IRC_WriteStrClientPrefix( c, Prefix, "%s", buffer );
} }
c = Client_Next( c ); c = Client_Next( c );
} }

View File

@ -9,7 +9,7 @@
* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
* *
* $Id: irc.c,v 1.95 2002/09/16 09:14:45 alex Exp $ * $Id: irc.c,v 1.96 2002/10/04 11:21:46 alex Exp $
* *
* irc.c: IRC-Befehle * irc.c: IRC-Befehle
*/ */
@ -206,7 +206,7 @@ IRC_NAMES( CLIENT *Client, REQUEST *Req )
if( strlen( rpl ) > ( LINE_LEN - CLIENT_NICK_LEN - 4 )) if( strlen( rpl ) > ( LINE_LEN - CLIENT_NICK_LEN - 4 ))
{ {
/* Zeile wird zu lang: senden! */ /* Zeile wird zu lang: senden! */
if( ! IRC_WriteStrClient( from, rpl )) return DISCONNECTED; if( ! IRC_WriteStrClient( from, "%s", rpl )) return DISCONNECTED;
sprintf( rpl, RPL_NAMREPLY_MSG, Client_ID( from ), "*", "*" ); sprintf( rpl, RPL_NAMREPLY_MSG, Client_ID( from ), "*", "*" );
} }
} }
@ -217,7 +217,7 @@ IRC_NAMES( CLIENT *Client, REQUEST *Req )
if( rpl[strlen( rpl ) - 1] != ':') if( rpl[strlen( rpl ) - 1] != ':')
{ {
/* es wurden User gefunden */ /* es wurden User gefunden */
if( ! IRC_WriteStrClient( from, rpl )) return DISCONNECTED; if( ! IRC_WriteStrClient( from, "%s", rpl )) return DISCONNECTED;
} }
return IRC_WriteStrClient( from, RPL_ENDOFNAMES_MSG, Client_ID( from ), "*" ); return IRC_WriteStrClient( from, RPL_ENDOFNAMES_MSG, Client_ID( from ), "*" );
@ -259,7 +259,7 @@ IRC_ISON( CLIENT *Client, REQUEST *Req )
} }
if( rpl[strlen( rpl ) - 1] == ' ' ) rpl[strlen( rpl ) - 1] = '\0'; if( rpl[strlen( rpl ) - 1] == ' ' ) rpl[strlen( rpl ) - 1] = '\0';
return IRC_WriteStrClient( Client, rpl, Client_ID( Client ) ); return IRC_WriteStrClient( Client, "%s", rpl, Client_ID( Client ) );
} /* IRC_ISON */ } /* IRC_ISON */
@ -325,7 +325,7 @@ IRC_WHOIS( CLIENT *Client, REQUEST *Req )
if( strlen( str ) > ( LINE_LEN - CHANNEL_NAME_LEN - 4 )) if( strlen( str ) > ( LINE_LEN - CHANNEL_NAME_LEN - 4 ))
{ {
/* Zeile wird zu lang: senden! */ /* Zeile wird zu lang: senden! */
if( ! IRC_WriteStrClient( Client, str )) return DISCONNECTED; if( ! IRC_WriteStrClient( Client, "%s", str )) return DISCONNECTED;
sprintf( str, RPL_WHOISCHANNELS_MSG, Client_ID( from ), Client_ID( c )); sprintf( str, RPL_WHOISCHANNELS_MSG, Client_ID( from ), Client_ID( c ));
} }
@ -335,7 +335,7 @@ IRC_WHOIS( CLIENT *Client, REQUEST *Req )
if( str[strlen( str ) - 1] != ':') if( str[strlen( str ) - 1] != ':')
{ {
/* Es sind noch Daten da, die gesendet werden muessen */ /* Es sind noch Daten da, die gesendet werden muessen */
if( ! IRC_WriteStrClient( Client, str )) return DISCONNECTED; if( ! IRC_WriteStrClient( Client, "%s", str )) return DISCONNECTED;
} }
/* IRC-Operator? */ /* IRC-Operator? */
@ -477,7 +477,7 @@ IRC_USERHOST( CLIENT *Client, REQUEST *Req )
} }
if( rpl[strlen( rpl ) - 1] == ' ' ) rpl[strlen( rpl ) - 1] = '\0'; if( rpl[strlen( rpl ) - 1] == ' ' ) rpl[strlen( rpl ) - 1] = '\0';
return IRC_WriteStrClient( Client, rpl, Client_ID( Client ) ); return IRC_WriteStrClient( Client, "%s", rpl, Client_ID( Client ) );
} /* IRC_USERHOST */ } /* IRC_USERHOST */
@ -768,7 +768,7 @@ IRC_Send_NAMES( CLIENT *Client, CHANNEL *Chan )
if( strlen( str ) > ( LINE_LEN - CLIENT_NICK_LEN - 4 )) if( strlen( str ) > ( LINE_LEN - CLIENT_NICK_LEN - 4 ))
{ {
/* Zeile wird zu lang: senden! */ /* Zeile wird zu lang: senden! */
if( ! IRC_WriteStrClient( Client, str )) return DISCONNECTED; if( ! IRC_WriteStrClient( Client, "%s", str )) return DISCONNECTED;
sprintf( str, RPL_NAMREPLY_MSG, Client_ID( Client ), "=", Channel_Name( Chan )); sprintf( str, RPL_NAMREPLY_MSG, Client_ID( Client ), "=", Channel_Name( Chan ));
} }
} }
@ -779,7 +779,7 @@ IRC_Send_NAMES( CLIENT *Client, CHANNEL *Chan )
if( str[strlen( str ) - 1] != ':') if( str[strlen( str ) - 1] != ':')
{ {
/* Es sind noch Daten da, die gesendet werden muessen */ /* Es sind noch Daten da, die gesendet werden muessen */
if( ! IRC_WriteStrClient( Client, str )) return DISCONNECTED; if( ! IRC_WriteStrClient( Client, "%s", str )) return DISCONNECTED;
} }
return CONNECTED; return CONNECTED;

View File

@ -9,7 +9,7 @@
* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
* *
* $Id: log.c,v 1.37 2002/09/09 22:55:21 alex Exp $ * $Id: log.c,v 1.38 2002/10/04 11:21:46 alex Exp $
* *
* log.c: Logging-Funktionen * log.c: Logging-Funktionen
*/ */
@ -185,7 +185,7 @@ va_dcl
else else
{ {
/* Syslog */ /* Syslog */
syslog( Level, msg ); syslog( Level, "%s", msg );
} }
#endif #endif

View File

@ -9,7 +9,7 @@
* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
* *
* $Id: parse.c,v 1.41 2002/09/16 09:20:27 alex Exp $ * $Id: parse.c,v 1.42 2002/10/04 11:21:46 alex Exp $
* *
* parse.c: Parsen der Client-Anfragen * parse.c: Parsen der Client-Anfragen
*/ */
@ -311,7 +311,7 @@ Handle_Request( CONN_ID Idx, REQUEST *Req )
else strcat( str, " :" ); else strcat( str, " :" );
strcat( str, Req->argv[i] ); strcat( str, Req->argv[i] );
} }
return IRC_WriteStrClientPrefix( target, prefix, str ); return IRC_WriteStrClientPrefix( target, prefix, "%s", str );
} }
if( strcasecmp( Req->command, "PASS" ) == 0 ) return IRC_PASS( client, Req ); if( strcasecmp( Req->command, "PASS" ) == 0 ) return IRC_PASS( client, Req );