config.c: guard config parser from value=NULL
user.{name,email}, core.{pager,editor,excludesfile,whitespace} and i18n.{commit,logoutput}encoding all expect string values. Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
90f5c1864c
commit
6c47d0e8f3
16
config.c
16
config.c
@ -408,21 +408,29 @@ int git_default_config(const char *var, const char *value)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!strcmp(var, "user.name")) {
|
if (!strcmp(var, "user.name")) {
|
||||||
|
if (!value)
|
||||||
|
return config_error_nonbool(var);
|
||||||
strlcpy(git_default_name, value, sizeof(git_default_name));
|
strlcpy(git_default_name, value, sizeof(git_default_name));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!strcmp(var, "user.email")) {
|
if (!strcmp(var, "user.email")) {
|
||||||
|
if (!value)
|
||||||
|
return config_error_nonbool(var);
|
||||||
strlcpy(git_default_email, value, sizeof(git_default_email));
|
strlcpy(git_default_email, value, sizeof(git_default_email));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!strcmp(var, "i18n.commitencoding")) {
|
if (!strcmp(var, "i18n.commitencoding")) {
|
||||||
|
if (!value)
|
||||||
|
return config_error_nonbool(var);
|
||||||
git_commit_encoding = xstrdup(value);
|
git_commit_encoding = xstrdup(value);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!strcmp(var, "i18n.logoutputencoding")) {
|
if (!strcmp(var, "i18n.logoutputencoding")) {
|
||||||
|
if (!value)
|
||||||
|
return config_error_nonbool(var);
|
||||||
git_log_output_encoding = xstrdup(value);
|
git_log_output_encoding = xstrdup(value);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -434,23 +442,29 @@ int git_default_config(const char *var, const char *value)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!strcmp(var, "core.pager")) {
|
if (!strcmp(var, "core.pager")) {
|
||||||
|
if (!value)
|
||||||
|
return config_error_nonbool(var);
|
||||||
pager_program = xstrdup(value);
|
pager_program = xstrdup(value);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!strcmp(var, "core.editor")) {
|
if (!strcmp(var, "core.editor")) {
|
||||||
|
if (!value)
|
||||||
|
return config_error_nonbool(var);
|
||||||
editor_program = xstrdup(value);
|
editor_program = xstrdup(value);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!strcmp(var, "core.excludesfile")) {
|
if (!strcmp(var, "core.excludesfile")) {
|
||||||
if (!value)
|
if (!value)
|
||||||
die("core.excludesfile without value");
|
return config_error_nonbool(var);
|
||||||
excludes_file = xstrdup(value);
|
excludes_file = xstrdup(value);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!strcmp(var, "core.whitespace")) {
|
if (!strcmp(var, "core.whitespace")) {
|
||||||
|
if (!value)
|
||||||
|
return config_error_nonbool(var);
|
||||||
whitespace_rule_cfg = parse_whitespace_rule(value);
|
whitespace_rule_cfg = parse_whitespace_rule(value);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user