[PATCH 2/2] worktree: reject empty string

"Matthias Aßhauer via GitGitGadget" <[email protected]>
Newsgroups org.kernel.vger.git
Message-ID <ec682d75f3a7848dc36f82cf36bbdff6fd283e2d.1784978348.git.gitgitgadget@gmail.com>
From: =?UTF-8?q?Matthias=20A=C3=9Fhauer?= <[email protected]>

`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 <[email protected]>
---
 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)
-- 
gitgitgadget
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.