Commit c3ec2ec262eb72cfc6783316e18aef12fb791d3f

nulltoken 2012-01-19T00:09:47

transport: prevent git_remote_download() from segfaulting when being passed a lightweight remote built with git_remote_new()

1
2
3
4
5
6
7
8
9
10
11
12
13
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)