Re: [PATCH 2/2] worktree: reject empty string
René Scharfe <[email protected]> Sun, 2 Aug 2026 08:26:39 +0200
| Newsgroups | org.kernel.vger.git |
|---|---|
| Message-ID | <[email protected]> |
On 7/25/26 1:19 PM, Matthias A=C3=83hauer via GitGitGadget wrote: > From: =3D?UTF-8?q?Matthias=3D20A=3DC3=3D9Fhauer?=3D <[email protected]> >=20 > `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. >=20 > Signed-off-by: Matthias A=C3=9Fhauer <[email protected]> > --- > builtin/worktree.c | 2 ++ > 1 file changed, 2 insertions(+) >=20 > 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); > =20 > name =3D 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=C3=A9