зеркало из https://github.com/microsoft/git.git
Merge branch 'jk/do-not-printf-NULL'
"git config" had a codepath that tried to pass a NULL to printf("%s"), which nobody seems to have noticed. * jk/do-not-printf-NULL: git_config_set_multivar_in_file: handle "unset" errors git_config_set_multivar_in_file: all non-zero returns are errors config: lower-case first word of error strings
This commit is contained in:
Коммит
fd9b37cfde
18
config.c
18
config.c
|
@ -108,7 +108,7 @@ static int handle_path_include(const char *path, struct config_include_data *inc
|
||||||
|
|
||||||
expanded = expand_user_path(path);
|
expanded = expand_user_path(path);
|
||||||
if (!expanded)
|
if (!expanded)
|
||||||
return error("Could not expand include path '%s'", path);
|
return error("could not expand include path '%s'", path);
|
||||||
path = expanded;
|
path = expanded;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -950,7 +950,7 @@ static int git_default_branch_config(const char *var, const char *value)
|
||||||
else if (!strcmp(value, "always"))
|
else if (!strcmp(value, "always"))
|
||||||
autorebase = AUTOREBASE_ALWAYS;
|
autorebase = AUTOREBASE_ALWAYS;
|
||||||
else
|
else
|
||||||
return error("Malformed value for %s", var);
|
return error("malformed value for %s", var);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -976,7 +976,7 @@ static int git_default_push_config(const char *var, const char *value)
|
||||||
else if (!strcmp(value, "current"))
|
else if (!strcmp(value, "current"))
|
||||||
push_default = PUSH_DEFAULT_CURRENT;
|
push_default = PUSH_DEFAULT_CURRENT;
|
||||||
else {
|
else {
|
||||||
error("Malformed value for %s: %s", var, value);
|
error("malformed value for %s: %s", var, value);
|
||||||
return error("Must be one of nothing, matching, simple, "
|
return error("Must be one of nothing, matching, simple, "
|
||||||
"upstream or current.");
|
"upstream or current.");
|
||||||
}
|
}
|
||||||
|
@ -2217,9 +2217,13 @@ void git_config_set_multivar_in_file(const char *config_filename,
|
||||||
const char *key, const char *value,
|
const char *key, const char *value,
|
||||||
const char *value_regex, int multi_replace)
|
const char *value_regex, int multi_replace)
|
||||||
{
|
{
|
||||||
if (git_config_set_multivar_in_file_gently(config_filename, key, value,
|
if (!git_config_set_multivar_in_file_gently(config_filename, key, value,
|
||||||
value_regex, multi_replace) < 0)
|
value_regex, multi_replace))
|
||||||
die(_("Could not set '%s' to '%s'"), key, value);
|
return;
|
||||||
|
if (value)
|
||||||
|
die(_("could not set '%s' to '%s'"), key, value);
|
||||||
|
else
|
||||||
|
die(_("could not unset '%s'"), key);
|
||||||
}
|
}
|
||||||
|
|
||||||
int git_config_set_multivar_gently(const char *key, const char *value,
|
int git_config_set_multivar_gently(const char *key, const char *value,
|
||||||
|
@ -2400,7 +2404,7 @@ int git_config_rename_section(const char *old_name, const char *new_name)
|
||||||
#undef config_error_nonbool
|
#undef config_error_nonbool
|
||||||
int config_error_nonbool(const char *var)
|
int config_error_nonbool(const char *var)
|
||||||
{
|
{
|
||||||
return error("Missing value for '%s'", var);
|
return error("missing value for '%s'", var);
|
||||||
}
|
}
|
||||||
|
|
||||||
int parse_config_key(const char *var,
|
int parse_config_key(const char *var,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче