Subject: Re: [PATCH] fetch: Fix segfault on pull --set-upstream outside a branch.

From: Junio C Hamano <[email-masked]>
Date: Tue, 06 Jul 2021 10:57:01 -0700

Clemens Fruhwirth <[email-masked]> writes:

> branch_get("HEAD") can return NULL, when we are outside a branch and
> the user calls pull --set-upstream. Catch this case and warn the user
> to avoid a segfault.

Nit.  What do you mean by "outside a branch"?  If you mean "when the
HEAD is detached", please say so, and use the same terminology in
your warning message.

Thanks.

>
> Signed-off-by: Clemens Fruhwirth <[email-masked]>
> ---
>  builtin/fetch.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/builtin/fetch.c b/builtin/fetch.c
> index 9191620e50..1097235b90 100644
> --- a/builtin/fetch.c
> +++ b/builtin/fetch.c
> @@ -1602,6 +1602,10 @@ static int do_fetch(struct transport *transport,
>  		struct ref *rm;
>  		struct ref *source_ref = NULL;
>  
> +		if (!branch) {
> +			warning(_("no branch detected to use --set-upstream with."));
> +			goto skip;
> +		}
>  		/*
>  		 * We're setting the upstream configuration for the
>  		 * current branch. The relevant upstream is the