In parse_one_advertised_remote(), we check for a NULL remote name and
remote URL, but not for empty ones. An empty URL seems possible as
url_percent_decode("") doesn't return NULL.
In promisor_config_info_list(), we ignore remotes with empty URLs, so a
Git server should not advertise remotes with empty URLs. It's possible
that a buggy or malicious server would do it though.
So let's tighten the check in parse_one_advertised_remote() to also
reject empty strings at parse time.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
string_list_clear(&elem_list, 0);
- if (!info->name || !info->url) {
+ if (!info->name || !*info->name || !info->url || !*info->url) {
warning(_("server advertised a promisor remote without a name or URL: '%s', "
"ignoring this remote"), remote_info);
promisor_info_free(info);