sway

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

commit a2b914965686bb4352b8ebc4a46d898f5a793647
parent 7784f1a905cad5ad805195dcc3cba23ff206501c
Author: Drew DeVault <sir@cmpwn.com>
Date:   Thu, 15 Dec 2016 18:17:36 -0500

Add remaining sway allocation failure handling

Diffstat:
Msway/container.c | 2+-
Msway/workspace.c | 10+++++++++-
2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/sway/container.c b/sway/container.c @@ -217,7 +217,7 @@ swayc_t *new_workspace(swayc_t *output, const char *name) { workspace->y = output->y; workspace->width = output->width; workspace->height = output->height; - workspace->name = strdup(name); + workspace->name = !name ? NULL : strdup(name); workspace->visible = false; workspace->floating = create_list(); diff --git a/sway/workspace.c b/sway/workspace.c @@ -121,6 +121,10 @@ char *workspace_next_name(const char *output_name) { l = 3; } char *name = malloc(l + 1); + if (!name) { + sway_log(L_ERROR, "Could not allocate workspace name"); + return NULL; + } sprintf(name, "%d", ws_num++); return name; } @@ -278,7 +282,11 @@ bool workspace_switch(swayc_t *workspace) { || (strcmp(prev_workspace_name, active_ws->name) && active_ws != workspace)) { free(prev_workspace_name); - prev_workspace_name = malloc(strlen(active_ws->name)+1); + prev_workspace_name = malloc(strlen(active_ws->name) + 1); + if (!prev_workspace_name) { + sway_log(L_ERROR, "Unable to allocate previous workspace name"); + return false; + } strcpy(prev_workspace_name, active_ws->name); }