]> git.sur5r.net Git - i3/i3/commitdiff
secure strcpy by replacing with strncpy
authorChristopher Zimmermann <madroach@pundit.(none)>
Thu, 15 Jul 2010 12:38:29 +0000 (14:38 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Sat, 24 Jul 2010 10:14:00 +0000 (12:14 +0200)
i3-input/ipc.c
i3-msg/main.c
src/ipc.c

index 597a86efd2630437f72f052af06a3c2caa61f11e..2d11f0e05a36c7077a92090d06366d0211dc649a 100644 (file)
@@ -60,7 +60,7 @@ int connect_ipc(char *socket_path) {
         struct sockaddr_un addr;
         memset(&addr, 0, sizeof(struct sockaddr_un));
         addr.sun_family = AF_LOCAL;
-        strcpy(addr.sun_path, socket_path);
+        strncpy(addr.sun_path, socket_path, sizeof(addr.sun_path) - 1);
         if (connect(sockfd, (const struct sockaddr*)&addr, sizeof(struct sockaddr_un)) < 0)
                 err(EXIT_FAILURE, "Could not connect to i3");
 
index b22d550e453400d45b0264137ff8afe615560c10..33bedc7cbe198334cef13757911139bcdad0c430 100644 (file)
@@ -175,7 +175,7 @@ int main(int argc, char *argv[]) {
         struct sockaddr_un addr;
         memset(&addr, 0, sizeof(struct sockaddr_un));
         addr.sun_family = AF_LOCAL;
-        strcpy(addr.sun_path, socket_path);
+        strncpy(addr.sun_path, socket_path, sizeof(addr.sun_path) - 1);
         if (connect(sockfd, (const struct sockaddr*)&addr, sizeof(struct sockaddr_un)) < 0)
                 err(EXIT_FAILURE, "Could not connect to i3");
 
index 1937d55d4662575d4738bda3ec8fdde556140458..3dd9565302cf89608e0cc8aadfdde3040ade6e05 100644 (file)
--- a/src/ipc.c
+++ b/src/ipc.c
@@ -91,7 +91,7 @@ static void ipc_send_message(int fd, const unsigned char *payload,
         char msg[buffer_size];
         char *walk = msg;
 
-        strcpy(walk, "i3-ipc");
+        strncpy(walk, "i3-ipc", buffer_size - 1);
         walk += strlen("i3-ipc");
         memcpy(walk, &message_size, sizeof(uint32_t));
         walk += sizeof(uint32_t);