cmd_config(): make a copy of path obtained from git_path()
The strings returned by git_path() are recycled after a while. Make a copy of the config filename rather than holding onto the return value from git_path(). Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
49e0c5ad0a
commit
3696a7c2d9
@ -568,8 +568,8 @@ int cmd_config(int argc, const char **argv, const char *prefix)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (actions == ACTION_EDIT) {
|
else if (actions == ACTION_EDIT) {
|
||||||
const char *config_file = given_config_source.file ?
|
char *config_file;
|
||||||
given_config_source.file : git_path("config");
|
|
||||||
check_argc(argc, 0, 0);
|
check_argc(argc, 0, 0);
|
||||||
if (!given_config_source.file && nongit)
|
if (!given_config_source.file && nongit)
|
||||||
die("not in a git directory");
|
die("not in a git directory");
|
||||||
@ -578,6 +578,8 @@ int cmd_config(int argc, const char **argv, const char *prefix)
|
|||||||
if (given_config_source.blob)
|
if (given_config_source.blob)
|
||||||
die("editing blobs is not supported");
|
die("editing blobs is not supported");
|
||||||
git_config(git_default_config, NULL);
|
git_config(git_default_config, NULL);
|
||||||
|
config_file = xstrdup(given_config_source.file ?
|
||||||
|
given_config_source.file : git_path("config"));
|
||||||
if (use_global_config) {
|
if (use_global_config) {
|
||||||
int fd = open(config_file, O_CREAT | O_EXCL | O_WRONLY, 0666);
|
int fd = open(config_file, O_CREAT | O_EXCL | O_WRONLY, 0666);
|
||||||
if (fd) {
|
if (fd) {
|
||||||
@ -590,6 +592,7 @@ int cmd_config(int argc, const char **argv, const char *prefix)
|
|||||||
die_errno(_("cannot create configuration file %s"), config_file);
|
die_errno(_("cannot create configuration file %s"), config_file);
|
||||||
}
|
}
|
||||||
launch_editor(config_file, NULL, NULL);
|
launch_editor(config_file, NULL, NULL);
|
||||||
|
free(config_file);
|
||||||
}
|
}
|
||||||
else if (actions == ACTION_SET) {
|
else if (actions == ACTION_SET) {
|
||||||
int ret;
|
int ret;
|
||||||
|
Loading…
Reference in New Issue
Block a user