All of lore.kernel.org
 help / color / mirror / Atom feed
From: "René Scharfe" <l.s.r@web.de>
To: "Matthias Aßhauer via GitGitGadget" <gitgitgadget@gmail.com>,
	git@vger.kernel.org
Cc: "Marc Branchaud" <marcnarc@xiplink.com>,
	"Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>,
	"Eric Sunshine" <sunshine@sunshineco.com>,
	"Matthias Aßhauer" <mha1993@live.de>
Subject: Re: [PATCH 2/2] worktree: reject empty string
Date: Sun, 2 Aug 2026 08:26:39 +0200	[thread overview]
Message-ID: <f6b7af1a-29fd-4bec-b819-34b7962180fb@web.de> (raw)
In-Reply-To: <ec682d75f3a7848dc36f82cf36bbdff6fd283e2d.1784978348.git.gitgitgadget@gmail.com>

On 7/25/26 1:19 PM, Matthias AÃhauer via GitGitGadget wrote:
> From: =?UTF-8?q?Matthias=20A=C3=9Fhauer?= <mha1993@live.de>
> 
> `git worktree add ""` errors out with the message `BUG: How come ''
> becomes empty after sanitization?`, but not due to a bug in the
> sanitization code. An empty string should remain empty during
> sanitization. Instead reject the argument as invalid user input,
> if it's already empty before sanitization.
> 
> Signed-off-by: Matthias Aßhauer <mha1993@live.de>
> ---
>  builtin/worktree.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/builtin/worktree.c b/builtin/worktree.c
> index d8188035db..113dbf98d3 100644
> --- a/builtin/worktree.c
> +++ b/builtin/worktree.c
> @@ -496,6 +496,8 @@ static int add_worktree(const char *path, const char *refname,
>  		die(_("invalid reference: %s"), refname);
>  
>  	name = worktree_basename(path, &len);
> +	if (!len)
> +		die(_("the empty string is not a valid worktree"));
>  	strbuf_add(&sb, name, path + len - name);
>  	sanitize_refname_component(sb.buf, &sb_name);
>  	if (!sb_name.len)

Hmm, on my machine, with or without this patch:

   $ git worktree add ""
   Preparing worktree (new branch '')
   fatal: '' is not a valid branch name
   hint: See 'git help check-ref-format'
   hint: Disable this message with "git config set advice.refSyntax false"

and

   $ git worktree add /
   Preparing worktree (new branch '')
   fatal: '' is not a valid branch name
   hint: See 'git help check-ref-format'
   hint: Disable this message with "git config set advice.refSyntax false"

This error message is produced by the command 'git branch "" HEAD'
issued using run_command() in add(), just before the the add_worktree()
call, which is then skipped.

René


  reply	other threads:[~2026-08-02  6:26 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-25 11:19 [PATCH 0/2] worktree: Fix out of bounds read that causes data loss and reject invalid empty input in worktree add Matthias Aßhauer via GitGitGadget
2026-07-25 11:19 ` [PATCH 1/2] worktree: don't read out of bounds Matthias Aßhauer via GitGitGadget
2026-07-25 16:51   ` Junio C Hamano
2026-07-31  5:45     ` René Scharfe
2026-07-25 11:19 ` [PATCH 2/2] worktree: reject empty string Matthias Aßhauer via GitGitGadget
2026-08-02  6:26   ` René Scharfe [this message]
2026-08-02  9:58     ` René Scharfe
2026-08-11 21:34 ` [PATCH v1.5] worktree: Fix out of bounds read that causes data loss and reject invalid empty input in worktree add René Scharfe
2026-08-11 22:46   ` Junio C Hamano
2026-08-16 17:51     ` René Scharfe
2026-08-16 19:30       ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f6b7af1a-29fd-4bec-b819-34b7962180fb@web.de \
    --to=l.s.r@web.de \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=marcnarc@xiplink.com \
    --cc=mha1993@live.de \
    --cc=pclouds@gmail.com \
    --cc=sunshine@sunshineco.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.