summaryrefslogtreecommitdiffstats
path: root/cmd-save-buffer.c
diff options
context:
space:
mode:
authornicm <nicm>2018-07-31 13:06:44 +0000
committernicm <nicm>2018-07-31 13:06:44 +0000
commit5f07da6227cecf3d66aa9f28579f48396373d9e4 (patch)
tree6621049403ae2dacf27812ae3df46f1664d9fa17 /cmd-save-buffer.c
parent82776c456e1ad4ba2c9466e90f51179d07a4c9c2 (diff)
Do not leak path or use it after free.
Diffstat (limited to 'cmd-save-buffer.c')
-rw-r--r--cmd-save-buffer.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/cmd-save-buffer.c b/cmd-save-buffer.c
index 6d5ddafd..f6ac93a6 100644
--- a/cmd-save-buffer.c
+++ b/cmd-save-buffer.c
@@ -106,6 +106,8 @@ cmd_save_buffer_exec(struct cmd *self, struct cmdq_item *item)
flags = "ab";
file = server_client_get_path(c, path);
+ free(path);
+
f = fopen(file, flags);
if (f == NULL) {
cmdq_error(item, "%s: %s", file, strerror(errno));
@@ -122,7 +124,6 @@ cmd_save_buffer_exec(struct cmd *self, struct cmdq_item *item)
fclose(f);
free(file);
- free(path);
return (CMD_RETURN_NORMAL);