strncat -> silc_strncat.
authorPekka Riikonen <priikone@silcnet.org>
Fri, 11 Oct 2002 14:24:53 +0000 (14:24 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Fri, 11 Oct 2002 14:24:53 +0000 (14:24 +0000)
apps/silcd/command.c
apps/silcd/packet_send.c
lib/silcclient/client_ftp.c
lib/silcclient/command_reply.c
lib/silcclient/idlist.c

index f7fd214be0cae1ce37cbb4d78632e0f50fd5e0ca..d42af0780c340fe46f36aced184e9e851a3e4fa0 100644 (file)
@@ -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 */
index c8518f193ddba35be4f75124a2ff7dbcea31e3d3..0e6e7b07897f69ace40e115691472a6500cade7d 100644 (file)
@@ -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, 
index c335121fd70dc93c7c7a72c35347867fae491c42..7aac6b32f423b90a095385f5d33794b4625ef2a8 100644 (file)
@@ -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, '/'))
index 7277b8db9f287cbc4ebce1efc7fe67c80f4dce17..41cc376c8158a536f702ef26938b38a7a3e9b78b 100644 (file)
@@ -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)
index 82a2e05120b6b4c654c4347827b06a5f66986895..85d28203b27869d88580b25a5752f65bb48612ad 100644 (file)
@@ -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 */