aboutsummaryrefslogtreecommitdiffstats
path: root/common/ipc-client.c
diff options
context:
space:
mode:
authorLibravatar Eric Engestrom <eric@engestrom.ch>2016-05-01 13:39:24 +0100
committerLibravatar Eric Engestrom <eric@engestrom.ch>2016-05-01 13:57:23 +0100
commitaece36cd22aa50015d1eb737b2b31a0b7087e813 (patch)
tree9ce1368de09405b187630fb730f103209a53a456 /common/ipc-client.c
parentMerge pull request #624 from tajjada/add-input-accel-profile (diff)
downloadsway-aece36cd22aa50015d1eb737b2b31a0b7087e813.tar.gz
sway-aece36cd22aa50015d1eb737b2b31a0b7087e813.tar.zst
sway-aece36cd22aa50015d1eb737b2b31a0b7087e813.zip
common: fix potential buffer overflow
Diffstat (limited to 'common/ipc-client.c')
-rw-r--r--common/ipc-client.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/common/ipc-client.c b/common/ipc-client.c
index 93f2963c..997a87d1 100644
--- a/common/ipc-client.c
+++ b/common/ipc-client.c
@@ -32,7 +32,8 @@ int ipc_open_socket(const char *socket_path) {
32 sway_abort("Unable to open Unix socket"); 32 sway_abort("Unable to open Unix socket");
33 } 33 }
34 addr.sun_family = AF_UNIX; 34 addr.sun_family = AF_UNIX;
35 strcpy(addr.sun_path, socket_path); 35 strncpy(addr.sun_path, socket_path, sizeof(addr.sun_path));
36 addr.sun_path[sizeof(addr.sun_path) - 1] = 0;
36 int l = sizeof(addr.sun_family) + strlen(addr.sun_path); 37 int l = sizeof(addr.sun_family) + strlen(addr.sun_path);
37 if (connect(socketfd, (struct sockaddr *)&addr, l) == -1) { 38 if (connect(socketfd, (struct sockaddr *)&addr, l) == -1) {
38 sway_abort("Unable to connect to %s", socket_path); 39 sway_abort("Unable to connect to %s", socket_path);