commit aece36cd22aa50015d1eb737b2b31a0b7087e813
parent f7869d815a17b062f867478ceacc8c1d1cbac6c2
Author: Eric Engestrom <eric@engestrom.ch>
Date: Sun, 1 May 2016 13:39:24 +0100
common: fix potential buffer overflow
Diffstat:
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/common/ipc-client.c b/common/ipc-client.c
@@ -32,7 +32,8 @@ int ipc_open_socket(const char *socket_path) {
sway_abort("Unable to open Unix socket");
}
addr.sun_family = AF_UNIX;
- strcpy(addr.sun_path, socket_path);
+ strncpy(addr.sun_path, socket_path, sizeof(addr.sun_path));
+ addr.sun_path[sizeof(addr.sun_path) - 1] = 0;
int l = sizeof(addr.sun_family) + strlen(addr.sun_path);
if (connect(socketfd, (struct sockaddr *)&addr, l) == -1) {
sway_abort("Unable to connect to %s", socket_path);