sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit 3ea2a9a85e7db6e9858ccf68a67b312cd6db36c5
parent dcecfe6a996c89988f7639493395ebe224f8d9a8
Author: emersion <contact@emersion.fr>
Date:   Sun, 15 Apr 2018 07:42:38 +0200

Merge pull request #1811 from martinetd/gcc_warnings

Fix gcc warnings
Diffstat:
Mcommon/ipc-client.c | 2+-
Msway/commands.c | 2+-
Msway/commands/exec_always.c | 2+-
Msway/ipc-server.c | 2+-
Msway/tree/layout.c | 7+++++--
5 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/common/ipc-client.c b/common/ipc-client.c @@ -48,7 +48,7 @@ int ipc_open_socket(const char *socket_path) { sway_abort("Unable to open Unix socket"); } addr.sun_family = AF_UNIX; - strncpy(addr.sun_path, socket_path, sizeof(addr.sun_path)); + strncpy(addr.sun_path, socket_path, sizeof(addr.sun_path) - 1); addr.sun_path[sizeof(addr.sun_path) - 1] = 0; int l = sizeof(struct sockaddr_un); if (connect(socketfd, (struct sockaddr *)&addr, l) == -1) { diff --git a/sway/commands.c b/sway/commands.c @@ -601,7 +601,7 @@ struct cmd_results *add_color(const char *name, "Invalid color definition %s", color); } } - strncpy(buffer, color, len); + strcpy(buffer, color); // add default alpha channel if color was defined without it if (len == 7) { buffer[7] = 'f'; diff --git a/sway/commands/exec_always.c b/sway/commands/exec_always.c @@ -32,7 +32,7 @@ struct cmd_results *cmd_exec_always(int argc, char **argv) { // Put argument into cmd array char cmd[4096]; - strncpy(cmd, tmp, sizeof(cmd)); + strncpy(cmd, tmp, sizeof(cmd) - 1); cmd[sizeof(cmd) - 1] = 0; free(tmp); wlr_log(L_DEBUG, "Executing %s", cmd); diff --git a/sway/ipc-server.c b/sway/ipc-server.c @@ -64,7 +64,7 @@ void ipc_init(struct sway_server *server) { // We want to use socket name set by user, not existing socket from another sway instance. if (getenv("SWAYSOCK") != NULL && access(getenv("SWAYSOCK"), F_OK) == -1) { - strncpy(ipc_sockaddr->sun_path, getenv("SWAYSOCK"), sizeof(ipc_sockaddr->sun_path)); + strncpy(ipc_sockaddr->sun_path, getenv("SWAYSOCK"), sizeof(ipc_sockaddr->sun_path) - 1); ipc_sockaddr->sun_path[sizeof(ipc_sockaddr->sun_path) - 1] = 0; } diff --git a/sway/tree/layout.c b/sway/tree/layout.c @@ -288,8 +288,11 @@ void container_move(struct sway_container *container, switch (current->type) { case C_OUTPUT: { - enum wlr_direction wlr_dir; - sway_dir_to_wlr(move_dir, &wlr_dir); + enum wlr_direction wlr_dir = 0; + if (!sway_assert(sway_dir_to_wlr(move_dir, &wlr_dir), + "got invalid direction: %d", move_dir)) { + return; + } double ref_lx = current->x + current->width / 2; double ref_ly = current->y + current->height / 2; struct wlr_output *next = wlr_output_layout_adjacent_output(