From 700066519f970fc4f2ec5c013c134404ccc8e5c8 Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Fri, 11 Oct 2002 14:24:53 +0000 Subject: [PATCH] strncat -> silc_strncat. --- apps/silcd/command.c | 44 +++++++++++++++++++++------------- apps/silcd/packet_send.c | 2 +- lib/silcclient/client_ftp.c | 6 ++--- lib/silcclient/command_reply.c | 2 +- lib/silcclient/idlist.c | 13 +++++----- 5 files changed, 39 insertions(+), 28 deletions(-) diff --git a/apps/silcd/command.c b/apps/silcd/command.c index f7fd214b..d42af078 100644 --- a/apps/silcd/command.c +++ b/apps/silcd/command.c @@ -1124,12 +1124,15 @@ SILC_SERVER_CMD_FUNC(invite) } memset(invite, 0, sizeof(invite)); - strncat(invite, dest->nickname, strlen(dest->nickname)); - strncat(invite, "!", 1); - strncat(invite, dest->username, strlen(dest->username)); + silc_strncat(invite, sizeof(invite), + dest->nickname, strlen(dest->nickname)); + silc_strncat(invite, sizeof(invite), "!", 1); + silc_strncat(invite, sizeof(invite), + dest->username, strlen(dest->username)); if (!strchr(dest->username, '@')) { - strncat(invite, "@", 1); - strncat(invite, cmd->sock->hostname, strlen(cmd->sock->hostname)); + silc_strncat(invite, sizeof(invite), "@", 1); + silc_strncat(invite, sizeof(invite), cmd->sock->hostname, + strlen(cmd->sock->hostname)); } len = strlen(invite); @@ -1785,24 +1788,31 @@ static void silc_server_command_join_channel(SilcServer server, if (!umode) { memset(check, 0, sizeof(check)); memset(check2, 0, sizeof(check2)); - strncat(check, client->nickname, strlen(client->nickname)); - strncat(check, "!", 1); - strncat(check, client->username, strlen(client->username)); + silc_strncat(check, sizeof(check), + client->nickname, strlen(client->nickname)); + silc_strncat(check, sizeof(check), "!", 1); + silc_strncat(check, sizeof(check), + client->username, strlen(client->username)); if (!strchr(client->username, '@')) { - strncat(check, "@", 1); - strncat(check, cmd->sock->hostname, strlen(cmd->sock->hostname)); + silc_strncat(check, sizeof(check), "@", 1); + silc_strncat(check, sizeof(check), + cmd->sock->hostname, strlen(cmd->sock->hostname)); } - strncat(check2, client->nickname, strlen(client->nickname)); + silc_strncat(check2, sizeof(check2), + client->nickname, strlen(client->nickname)); if (!strchr(client->nickname, '@')) { - strncat(check2, "@", 1); - strncat(check2, server->server_name, strlen(server->server_name)); + silc_strncat(check2, sizeof(check2), "@", 1); + silc_strncat(check2, sizeof(check2), + server->server_name, strlen(server->server_name)); } - strncat(check2, "!", 1); - strncat(check2, client->username, strlen(client->username)); + silc_strncat(check2, sizeof(check2), "!", 1); + silc_strncat(check2, sizeof(check2), + client->username, strlen(client->username)); if (!strchr(client->username, '@')) { - strncat(check2, "@", 1); - strncat(check2, cmd->sock->hostname, strlen(cmd->sock->hostname)); + silc_strncat(check2, sizeof(check2), "@", 1); + silc_strncat(check2, sizeof(check2), + cmd->sock->hostname, strlen(cmd->sock->hostname)); } /* Check invite list if channel is invite-only channel */ diff --git a/apps/silcd/packet_send.c b/apps/silcd/packet_send.c index c8518f19..0e6e7b07 100644 --- a/apps/silcd/packet_send.c +++ b/apps/silcd/packet_send.c @@ -1066,7 +1066,7 @@ void silc_server_send_error(SilcServer server, memset(buf, 0, sizeof(buf)); va_start(ap, fmt); - vsprintf(buf, fmt, ap); + vsnprintf(buf, sizeof(buf) - 1, fmt, ap); va_end(ap); silc_server_packet_send(server, sock, SILC_PACKET_ERROR, 0, diff --git a/lib/silcclient/client_ftp.c b/lib/silcclient/client_ftp.c index c335121f..7aac6b32 100644 --- a/lib/silcclient/client_ftp.c +++ b/lib/silcclient/client_ftp.c @@ -827,9 +827,9 @@ silc_client_file_send(SilcClient client, session->server = TRUE; silc_dlist_add(conn->ftp_sessions, session); - path = silc_calloc(strlen(filepath) + 8, sizeof(*path)); - strcat(path, "file://"); - strncat(path, filepath, strlen(filepath)); + path = silc_calloc(strlen(filepath) + 9, sizeof(*path)); + silc_strncat(path, strlen(filepath) + 9, "file://", 7); + silc_strncat(path, strlen(filepath) + 9, filepath, strlen(filepath)); /* Allocate memory filesystem and put the file to it */ if (strrchr(path, '/')) diff --git a/lib/silcclient/command_reply.c b/lib/silcclient/command_reply.c index 7277b8db..41cc376c 100644 --- a/lib/silcclient/command_reply.c +++ b/lib/silcclient/command_reply.c @@ -1143,7 +1143,7 @@ SILC_CLIENT_CMD_REPLY_FUNC(motd) while(cp[i] != 0) { if (cp[i++] == '\n') { memset(line, 0, sizeof(line)); - strncat(line, cp, i - 1); + silc_strncat(line, sizeof(line), cp, i - 1); cp += i; if (i == 2) diff --git a/lib/silcclient/idlist.c b/lib/silcclient/idlist.c index 82a2e051..85d28203 100644 --- a/lib/silcclient/idlist.c +++ b/lib/silcclient/idlist.c @@ -158,6 +158,7 @@ void silc_client_get_clients(SilcClient client, void *context) { GetClientInternal i; + int len; char *userhost; if (!nickname) @@ -172,13 +173,13 @@ void silc_client_get_clients(SilcClient client, i->context = context; if (nickname && server) { - userhost = silc_calloc(strlen(nickname) + strlen(server) + 2, - sizeof(*userhost)); - strncat(userhost, nickname, strlen(nickname)); - strncat(userhost, "@", 1); - strncat(userhost, server, strlen(server)); + len = strlen(nickname) + strlen(server) + 3; + userhost = silc_calloc(len, sizeof(*userhost)); + silc_strncat(userhost, len, nickname, strlen(nickname)); + silc_strncat(userhost, len, "@", 1); + silc_strncat(userhost, len, server, strlen(server)); } else { - userhost = strdup(nickname); + userhost = silc_memdup(nickname, strlen(nickname)); } /* Register our own command reply for this command */ -- 2.24.0