diff options
authorRené Scharfe <>2012-06-12 18:46:56 (GMT)
committerJunio C Hamano <>2012-06-13 20:10:55 (GMT)
commit7acf438215d1b0e8e47a707f3585de8486a2e5fe (patch)
parent121f71f0da1bc9a4e1e96be2c3e683191a82a354 (diff)
git: Wrong parsing of ssh urls with IPv6 literals ignores port
If we encounter an address part shaped like "[HOST]:PORT", we skip the opening bracket and replace the closing one with a NUL. The variable host then points to HOST and we've cut off the PORT part. Thus, when we go looking for it using host a bit later, we can't find it. Start at end instead, which either points to the colon, if present, or is equal to host. Signed-off-by: Rene Scharfe <> Reviewed-by: Jonathan Nieder <> Signed-off-by: Junio C Hamano <>
1 files changed, 1 insertions, 1 deletions
diff --git a/connect.c b/connect.c
index 912cdde..41b7400 100644
--- a/connect.c
+++ b/connect.c
@@ -536,7 +536,7 @@ struct child_process *git_connect(int fd[2], const char *url_orig,
* Add support for ssh port: ssh://host.xy:<port>/...
if (protocol == PROTO_SSH && host != url)
- port = get_port(host);
+ port = get_port(end);
if (protocol == PROTO_GIT) {
/* These underlying connection commands die() if they