From: René Scharfe Date: Sun, 02 Aug 2026 09:58:05 GMT Subject: Re: [PATCH 2/2] worktree: reject empty string Message-ID: <077f11be-489f-4174-adbc-82a610137a41@web.de> In-Reply-To: On 8/2/26 8:26 AM, René Scharfe wrote: > On 7/25/26 1:19 PM, Matthias AÃhauer via GitGitGadget wrote: >> From: =?UTF-8?q?Matthias=20A=C3=9Fhauer?= >> >> `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 >> --- >> 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" This hits the BUG by passing the empty string directly to add_worktree(): $ git worktree add "" HEAD Preparing worktree (detached HEAD a97fcc37c2) BUG: builtin/worktree.c:498: How come '' becomes empty after sanitization? René