commit - 62a4c94cd911a5c1ff54c4787c05d0876d30f07b
commit + 09f630849f5a9cc540b1289cdd7a034b171fa7d4
blob - 9d94bcc7fe798d02d848eb8412826ad908be6367
blob + 74366142a8b460dd0ad22df86bdd774bea7281a0
--- got/got.c
+++ got/got.c
error = got_fetch_parse_uri(&proto, &host, &port, &server_path,
&repo_name, argv[0]);
if (error)
+ goto done;
+
+ if (asprintf(&git_url, "%s://%s%s%s%s%s", proto,
+ host, port ? ":" : "", port ? port : "",
+ server_path[0] != '/' ? "/" : "", server_path) == -1) {
+ error = got_error_from_errno("asprintf");
goto done;
+ }
if (strcmp(proto, "git") == 0) {
#ifndef PROFILE
"sendfd dns inet unveil", NULL) == -1)
err(1, "pledge");
#endif
- git_url = strdup(argv[0]);
- if (git_url == NULL) {
- error = got_error_from_errno("strdup");
- goto done;
- }
} else if (strcmp(proto, "git+ssh") == 0 ||
strcmp(proto, "ssh") == 0) {
#ifndef PROFILE
"sendfd unveil", NULL) == -1)
err(1, "pledge");
#endif
- if (asprintf(&git_url, "ssh://%s:%s/%s", host, port,
- server_path) == -1) {
- error = got_error_from_errno("asprintf");
- goto done;
- }
} else if (strcmp(proto, "http") == 0 ||
strcmp(proto, "git+http") == 0) {
error = got_error_path(proto, GOT_ERR_NOT_IMPL);