transport: prevent git_remote_download() from segfaulting when being passed a lightweight remote built with git_remote_new()
diff --git a/src/refspec.c b/src/refspec.c
index 7ce32ba..7694be5 100644
--- a/src/refspec.c
+++ b/src/refspec.c
@@ -57,7 +57,7 @@ const char *git_refspec_dst(const git_refspec *refspec)
int git_refspec_src_match(const git_refspec *refspec, const char *refname)
{
- return refspec == NULL ? GIT_ENOMATCH : git__fnmatch(refspec->src, refname, 0);
+ return (refspec == NULL || refspec->src == NULL) ? GIT_ENOMATCH : git__fnmatch(refspec->src, refname, 0);
}
int git_refspec_transform(char *out, size_t outlen, const git_refspec *spec, const char *name)