Skip to content

remote.c: reject 0-length branch names

Glen Choo via GitGitGadget git 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest2 patches 5 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2remote.c: don't BUG() on 0-length branch namesremote.c t/t5516-fetch-push.sh+12 -41 reply
2/2remote.c: reject 0-length branch namesremote.c t/t5516-fetch-push.sh+15 -14 replies

Reviews trailers per patch

None of the 2 patches has a Reviewed-by or Acked-by.

PatchJeff King
1/2Helped-by
2/2

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/2] remote.c: reject 0-length branch names

This fixes the regression reported in [1], where Git may fail if it encounters multiple "branch." keys with no subsection, e.g.

[branch ""] remote = foo merge = bar

Prior to 4a2dcb1a08 (remote: die if branch is not found in repository, 2021-11-17), we silently ignored such keys. But that commit had an inconsistency in how we read and write to the branches hash map, causing us to BUG() (see Patch 1/2 for more details).

This small series does two things

* Fix the inconsistency in 4a2dcb1a08 that caused the bug.
* Make Git fail if we find such keys (because we'll never use them anyway).

[1] https://lore.kernel.org/git/24f547-6285e280-59-40303580@48243747

Glen Choo (2):
remote.c: don't BUG() on 0-length branch names
remote.c: reject 0-length branch names

 remote.c              | 10 ++++++----
 t/t5516-fetch-push.sh | 20 ++++++++++++++++++++
 2 files changed, 26 insertions(+), 4 deletions(-)

base-commit: f9b95943b68b6b8ca5a6072f50a08411c6449b55
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1273%2Fchooglen%2Fremote%2Fhandle-0-length-branch-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1273/chooglen/remote/handle-0-length-branch-v1
Pull-Request: https://github.com/git/git/pull/1273

Signature · 1 line
gitgitgadget