From: Vincent van Ravesteijn Date: Wed, 23 Nov 2011 06:31:55 +0000 (+0100) Subject: builtin-branch: Fix crash on invalid use of --force X-Git-Tag: v1.7.8-rc4~2 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=5cd75c7d8da8971d0d78f82d78c017e686fb5bb0;p=git.git builtin-branch: Fix crash on invalid use of --force The option --force should not put us in 'create branch' mode. The fact that this option is only valid in 'create branch' mode is already caught by the the next 'if' in which we assure that we are in the correct mode. Without this patch, "git branch -f" without any other argument ends up calling create_branch without any branch name. Signed-off-by: Vincent van Ravesteijn Signed-off-by: Junio C Hamano --- diff --git a/builtin/branch.c b/builtin/branch.c index 51ca6a02d..55cad766c 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -705,7 +705,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix) argc = parse_options(argc, argv, prefix, options, builtin_branch_usage, 0); - if (!delete && !rename && !force_create && argc == 0) + if (!delete && !rename && argc == 0) list = 1; if (!!delete + !!rename + !!force_create + !!list > 1) @@ -726,7 +726,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix) rename_branch(argv[0], argv[1], rename > 1); else usage_with_options(builtin_branch_usage, options); - } else if (argc <= 2) { + } else if (argc > 0 && argc <= 2) { if (kinds != REF_LOCAL_BRANCH) die(_("-a and -r options to 'git branch' do not make sense with a branch name")); create_branch(head, argv[0], (argc == 2) ? argv[1] : head,