lock_ref_sha1_basic(): report errors via a "struct strbuf *err"
[gitweb.git] / connect.c
index ce0e1214234244236a407e9f3004e619d26c54a8..391d21192f8d9593ce9b194488019eae3ec7d8d3 100644 (file)
--- a/connect.c
+++ b/connect.c
@@ -310,6 +310,8 @@ static void get_host_and_port(char **host, const char **port)
                if (end != colon + 1 && *end == '\0' && 0 <= portnr && portnr < 65536) {
                        *colon = 0;
                        *port = colon + 1;
+               } else if (!colon[1]) {
+                       *colon = 0;
                }
        }
 }
@@ -739,6 +741,7 @@ struct child_process *git_connect(int fd[2], const char *url,
 
                                free(hostandport);
                                free(path);
+                               free(conn);
                                return NULL;
                        } else {
                                ssh = getenv("GIT_SSH_COMMAND");