Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlen Choo <chooglen@google.com>2022-06-01 02:12:34 +0300
committerJunio C Hamano <gitster@pobox.com>2022-06-01 20:49:51 +0300
commitf1dfbd9ee010e5cdf0d931d16b4b2892b33331e5 (patch)
tree11059c68a3ec4fe9dd62bb52bcdef264b9fb2fc4 /remote.c
parent91e2e8f63ebd92295ff0eb5f4095f9e1fba8bab0 (diff)
remote.c: reject 0-length branch names
Branch names can't be empty, so config keys with an empty branch name, e.g. "branch..remote", are silently ignored. Since these config keys will never be useful, make it a fatal error when remote.c finds a key that starts with "branch." and has an empty subsection. Signed-off-by: Glen Choo <chooglen@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'remote.c')
-rw-r--r--remote.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/remote.c b/remote.c
index ff04da1ec62..98c190a0419 100644
--- a/remote.c
+++ b/remote.c
@@ -352,8 +352,12 @@ static int handle_config(const char *key, const char *value, void *cb)
struct remote_state *remote_state = cb;
if (parse_config_key(key, "branch", &name, &namelen, &subkey) >= 0) {
+ /* There is no subsection. */
if (!name)
return 0;
+ /* There is a subsection, but it is empty. */
+ if (!namelen)
+ return -1;
branch = make_branch(remote_state, name, namelen);
if (!strcmp(subkey, "remote")) {
return git_config_string(&branch->remote_name, key, value);