From c321f00d09f56dcf2f149757a2a337f3732f3097 Mon Sep 17 00:00:00 2001 From: Brian Gernhardt Date: Fri, 22 Dec 2006 08:56:25 -0500 Subject: [PATCH] Keep "git --git-dir" from causing a bus error. The option checking code for --git-dir had an off by 1 error that would cause it to access uninitialized memory if it was the last argument. This causes it to display an error and display the usage string instead. Signed-off-by: Brian Gernhardt Signed-off-by: Junio C Hamano --- git.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/git.c b/git.c index 73cf4d4e0..7bb61d837 100644 --- a/git.c +++ b/git.c @@ -59,8 +59,10 @@ static int handle_options(const char*** argv, int* argc) } else if (!strcmp(cmd, "-p") || !strcmp(cmd, "--paginate")) { setup_pager(); } else if (!strcmp(cmd, "--git-dir")) { - if (*argc < 1) - return -1; + if (*argc < 2) { + fprintf(stderr, "No directory given for --git-dir.\n" ); + usage(git_usage_string); + } setenv("GIT_DIR", (*argv)[1], 1); (*argv)++; (*argc)--; -- 2.30.2