From a6307aed0089a35b5594f910c9604262b46832e6 Mon Sep 17 00:00:00 2001 From: lbonn Date: Sat, 7 Sep 2019 23:41:33 +0200 Subject: Fix various memory leaks Found with clang-tidy --- sway/commands.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'sway/commands.c') diff --git a/sway/commands.c b/sway/commands.c index 2c1b2cb9..e2c43e9f 100644 --- a/sway/commands.c +++ b/sway/commands.c @@ -198,9 +198,6 @@ static void set_config_node(struct sway_node *node) { list_t *execute_command(char *_exec, struct sway_seat *seat, struct sway_container *con) { - list_t *res_list = create_list(); - char *exec = strdup(_exec); - char *head = exec; char *cmd; char matched_delim = ';'; list_t *views = NULL; @@ -213,9 +210,16 @@ list_t *execute_command(char *_exec, struct sway_seat *seat, } } + char *exec = strdup(_exec); + char *head = exec; + list_t *res_list = create_list(); + + if (!res_list || !exec) { + return NULL; + } + config->handler_context.seat = seat; - head = exec; do { for (; isspace(*head); ++head) {} // Extract criteria (valid for this command list only). -- cgit v1.2.3-54-g00ecf