# [PATCH] builtin-branch: Fix crash on invalid use of --force

2 messages from 2011-11-23 to 2011-11-23. Participants: vfr@lyx.org, Junio C Hamano.
Thread: https://gitlist.dev/t/29002

## vfr@lyx.org, 2011-11-23 06:31

Subject: [PATCH] builtin-branch: Fix crash on invalid use of --force
Message-ID: <1322029915-18486-1-git-send-email-vfr@lyx.org>
URL: https://gitlist.dev/e/1322029915-18486-1-git-send-email-vfr%40lyx.org

```
From: Vincent van Ravesteijn <vfr@lyx.org>

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, we end up calling create_branch without any
arguments. This means that argv[0] makes not much sense and
that we will finally crash because the branch name is a NULL
pointer. Hence the added safety check that we should not try
to create a branch without a name.

Signed-off-by: Vincent van Ravesteijn <vfr@lyx.org>
---
 builtin/branch.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/builtin/branch.c b/builtin/branch.c
index 51ca6a0..55cad76 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,
-- 
1.7.8-rc3

```

## Junio C Hamano, 2011-11-23 21:30

Subject: Re: [PATCH] builtin-branch: Fix crash on invalid use of --force
Message-ID: <7vsjlea5ng.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vsjlea5ng.fsf%40alter.siamese.dyndns.org
In-Reply-To: <1322029915-18486-1-git-send-email-vfr@lyx.org>

```
Makes sense and is a nice fix for a regression on 'master'. Thanks.

```
