diff options
author | Edward Thomson <ethomson@edwardthomson.com> | 2015-06-16 08:45:55 -0400 |
---|---|---|
committer | Edward Thomson <ethomson@edwardthomson.com> | 2015-06-16 08:45:55 -0400 |
commit | 86faea5fce37987aa05cb8aa9f525fa4e90dd6ca (patch) | |
tree | 7505422a68e4b9f7dd0b455488b6d402c168c8ab | |
parent | aeb2b991b0e645100976db620e50da65c51db66e (diff) | |
parent | 47a40d1d4421b0081622c1bf4af4f58ebb497ed5 (diff) | |
download | libgit2-86faea5fce37987aa05cb8aa9f525fa4e90dd6ca.tar.gz |
Merge pull request #3225 from libgit2/cmn/url-empty
remote: return EINVALIDSPEC when given an empty URL
-rw-r--r-- | src/remote.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/remote.c b/src/remote.c index 63f6d3462..7c2d99937 100644 --- a/src/remote.c +++ b/src/remote.c @@ -167,14 +167,18 @@ static int get_check_cert(int *out, git_repository *repo) static int canonicalize_url(git_buf *out, const char *in) { -#ifdef GIT_WIN32 - const char *c; + if (in == NULL || strlen(in) == 0) { + giterr_set(GITERR_INVALID, "cannot set empty URL"); + return GIT_EINVALIDSPEC; + } +#ifdef GIT_WIN32 /* Given a UNC path like \\server\path, we need to convert this * to //server/path for compatibility with core git. */ if (in[0] == '\\' && in[1] == '\\' && (git__isalpha(in[2]) || git__isdigit(in[2]))) { + const char *c; for (c = in; *c; c++) git_buf_putc(out, *c == '\\' ? '/' : *c); |