summaryrefslogtreecommitdiff
path: root/builtin/check-attr.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2011-10-06 18:22:24 (GMT)
committerJunio C Hamano <gitster@pobox.com>2011-10-06 20:54:32 (GMT)
commit64589a03a8ffb3eb4fb2ff8f416ff638a9aaa439 (patch)
tree96db0b639a87af13e8a7091d6ef9c6940a82b7c7 /builtin/check-attr.c
parent0d0ff65cea5424a202510fa4e28a461d36032276 (diff)
downloadgit-64589a03a8ffb3eb4fb2ff8f416ff638a9aaa439.zip
git-64589a03a8ffb3eb4fb2ff8f416ff638a9aaa439.tar.gz
git-64589a03a8ffb3eb4fb2ff8f416ff638a9aaa439.tar.bz2
attr: read core.attributesfile from git_default_core_config
This code calls git_config from a helper function to parse the config entry it is interested in. Calling git_config in this way may cause a problem if the helper function can be called after a previous call to git_config by another function since the second call to git_config may reset some variable to the value in the config file which was previously overridden. The above is not a problem in this case since the function passed to git_config only parses one config entry and the variable it sets is not assigned outside of the parsing function. But a programmer who desires all of the standard config options to be parsed may be tempted to modify git_attr_config() so that it falls back to git_default_config() and then it _would_ be vulnerable to the above described behavior. So, move the call to git_config up into the top-level cmd_* function and move the responsibility for parsing core.attributesfile into the main config file parser. Which is only the logical thing to do ;-) Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/check-attr.c')
-rw-r--r--builtin/check-attr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/builtin/check-attr.c b/builtin/check-attr.c
index 708988a..abb1165 100644
--- a/builtin/check-attr.c
+++ b/builtin/check-attr.c
@@ -92,6 +92,8 @@ int cmd_check_attr(int argc, const char **argv, const char *prefix)
struct git_attr_check *check;
int cnt, i, doubledash, filei;
+ git_config(git_default_config, NULL);
+
argc = parse_options(argc, argv, prefix, check_attr_options,
check_attr_usage, PARSE_OPT_KEEP_DASHDASH);