Merge pull request #625 from 1ace/fix/buffer-overflow

Fix a couple potential buffer overflows
This commit is contained in:
Drew DeVault 2016-05-01 09:04:12 -04:00
commit 4915f97618
2 changed files with 4 additions and 2 deletions

View File

@ -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);

View File

@ -506,7 +506,8 @@ static struct cmd_results *cmd_exec_always(int argc, char **argv) {
// Put argument into cmd array
char cmd[4096];
strcpy(cmd, tmp);
strncpy(cmd, tmp, sizeof(cmd));
cmd[sizeof(cmd) - 1] = 0;
free(tmp);
sway_log(L_DEBUG, "Executing %s", cmd);