--- micq-0.4.6/icq_response.c.orig Wed Jan 24 18:49:09 2001 +++ micq-0.4.6/icq_response.c Wed Jan 24 18:50:11 2001 @@ -724,7 +724,7 @@ { char *tmp; int x,m; - char message[1024]; + char message[1074]; char url_data[1024]; char url_desc[1024]; @@ -876,7 +876,7 @@ char_conv ("wc",data); strcpy (url_data,data); - sprintf (message,"Description: %s \n URL: %s",url_desc,url_data); + snprintf (message, sizeof(message), "Description: %s \n URL: %s",url_desc,url_data); if ( UIN2nick( uin ) != NULL ) log_event( uin, LOG_MESS, "You received URL message from %s\n%s\n", UIN2nick(uin), message ); else --- micq-0.4.6/sendmsg.c.orig Wed Jan 24 18:35:17 2001 +++ micq-0.4.6/sendmsg.c Wed Jan 24 18:38:51 2001 @@ -975,9 +975,9 @@ void icq_sendurl( SOK_T sok, DWORD uin, char *description, char *url ) { - char buf[450]; + char buf[500]; - sprintf( buf, "%s\xFE%s", url, description ); + snprintf( buf, sizeof(buf), "%s\xFE%s", url, description ); icq_sendmsg( sok, uin, buf, URL_MESS ); } --- micq-0.4.6/util_ui.c.orig Wed Jan 24 18:41:01 2001 +++ micq-0.4.6/util_ui.c Wed Jan 24 18:43:19 2001 @@ -102,7 +102,7 @@ assert( 2048 >= strlen( str ) ); va_start( args, str ); - vsprintf( buf, str, args ); + vsnprintf( buf, sizeof(buf), str, args ); k = write( fd, buf, strlen( buf ) ); if ( k != strlen( buf ) ) { @@ -292,7 +292,7 @@ va_start( args, str ); #ifndef CURSES_UI - vsprintf( buf, str, args ); + vsnprintf( buf, sizeof(buf), str, args ); str2 = buf; while ( (void *) NULL != ( str1 = strchr( str2, '\x1b' ) ) ) {