summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicm <nicm>2019-10-14 08:38:07 +0000
committernicm <nicm>2019-10-14 08:38:07 +0000
commit68d59a16cec91d2c2747c8c2862560e89f8f2d31 (patch)
treeac11b38e92612f09782f043d0fd1e010dd308a62
parent4e2cc0ae2a518371d1411bc327f113fc4898954c (diff)
Memory leaks, from Igor Wong in GitHub issue 1934.
-rw-r--r--cmd-parse.y1
-rw-r--r--options.c1
-rw-r--r--tmux.c1
3 files changed, 3 insertions, 0 deletions
diff --git a/cmd-parse.y b/cmd-parse.y
index 0cd7c6bf..2c924010 100644
--- a/cmd-parse.y
+++ b/cmd-parse.y
@@ -696,6 +696,7 @@ cmd_parse_build_commands(struct cmd_parse_commands *cmds,
pr.status = CMD_PARSE_ERROR;
pr.error = cmd_parse_get_error(pi->file, line, cause);
free(cause);
+ cmd_list_free(cmdlist);
goto out;
}
cmd_list_append(cmdlist, add);
diff --git a/options.c b/options.c
index 1be9f8cd..f683c566 100644
--- a/options.c
+++ b/options.c
@@ -296,6 +296,7 @@ options_remove(struct options_entry *o)
else
options_value_free(o, &o->value);
RB_REMOVE(options_tree, &oo->tree, o);
+ free((void *)o->name);
free(o);
}
diff --git a/tmux.c b/tmux.c
index c3fe3ee6..fe2647f5 100644
--- a/tmux.c
+++ b/tmux.c
@@ -130,6 +130,7 @@ make_label(const char *label, char **cause)
free(base);
goto fail;
}
+ free(base);
if (mkdir(resolved, S_IRWXU) != 0 && errno != EEXIST)
goto fail;