diff options
author | Glen Choo <chooglen@google.com> | 2022-05-31 23:12:34 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-06-01 10:49:51 -0700 |
commit | f1dfbd9ee010e5cdf0d931d16b4b2892b33331e5 (patch) | |
tree | 11059c68a3ec4fe9dd62bb52bcdef264b9fb2fc4 /remote.c | |
parent | 91e2e8f63ebd92295ff0eb5f4095f9e1fba8bab0 (diff) | |
download | git-f1dfbd9ee010e5cdf0d931d16b4b2892b33331e5.tar.gz |
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.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -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); |