summaryrefslogtreecommitdiff
path: root/setup.c
diff options
context:
space:
mode:
authorMartin Ågren <martin.agren@gmail.com>2019-01-22 21:45:47 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-01-23 21:15:58 (GMT)
commit13019979b811d26f4838d09331c7ddd8223d270d (patch)
tree14e2bd13bf4e4e294a2b90c45f92115f6ca37964 /setup.c
parentecbdaf0899161c067986e9d9d564586d4b045d62 (diff)
downloadgit-13019979b811d26f4838d09331c7ddd8223d270d.zip
git-13019979b811d26f4838d09331c7ddd8223d270d.tar.gz
git-13019979b811d26f4838d09331c7ddd8223d270d.tar.bz2
setup: free old value before setting `work_tree`
Before assigning to `data->work_tree` in `read_worktree_config()`, free any value we might already have picked up, so that we do not leak it. Signed-off-by: Martin Ågren <martin.agren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'setup.c')
-rw-r--r--setup.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/setup.c b/setup.c
index 1be5037..bb63394 100644
--- a/setup.c
+++ b/setup.c
@@ -411,6 +411,7 @@ static int read_worktree_config(const char *var, const char *value, void *vdata)
} else if (strcmp(var, "core.worktree") == 0) {
if (!value)
return config_error_nonbool(var);
+ free(data->work_tree);
data->work_tree = xstrdup(value);
}
return 0;