When your current directory is not at the root of the working tree, and you use the "-f" option with a relative path, the current code segfaults since argv has already been parsed, and argv[2] is now is a NULL pointer. This patch replaces the incorrect argv[2] with the variable holding the given config file name. The bug was introduced by d64ec16... (git config: reorganize to use parseopt). Signed-off-by: Johan Herland <johan@xxxxxxxxxxx> --- This is probably v1.7.0 material, and maybe even suitable for 'maint'. AFAICS, d64ec16... has been with us since before v1.6.3-rc0. ...Johan builtin-config.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/builtin-config.c b/builtin-config.c index 2e3ef91..4bc46b1 100644 --- a/builtin-config.c +++ b/builtin-config.c @@ -358,7 +358,7 @@ int cmd_config(int argc, const char **argv, const char *unused_prefix) if (!is_absolute_path(given_config_file) && prefix) config_exclusive_filename = prefix_filename(prefix, strlen(prefix), - argv[2]); + given_config_file); else config_exclusive_filename = given_config_file; } -- 1.6.6.rc2.5.g49666 -- Johan Herland, <johan@xxxxxxxxxxx> www.herland.net -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html