diff options
author | Andy Whitcroft <apw@shadowen.org> | 2006-09-05 20:00:17 +0100 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-09-05 17:40:46 -0700 |
commit | c41e20b30b2bd4b8167917336676cde6f6aadd06 (patch) | |
tree | 14cfbfde32feb0491aeae8f23b301dfaee2dc890 /connect.c | |
parent | 825b045f52daa2c8f28370f30c759adbdec51cbb (diff) | |
download | git-c41e20b30b2bd4b8167917336676cde6f6aadd06.tar.gz git-c41e20b30b2bd4b8167917336676cde6f6aadd06.tar.xz |
send-pack: remove remote reference limit
When build a pack for a push we query the remote copy for existant
heads. These are used to prune unnecessary objects from the pack.
As we receive the remote references in get_remote_heads() we validate
the reference names via check_ref() which includes a length check;
rejecting those >45 characters in size.
This is a miss converted change, it was originally designed to reject
messages which were less than 45 characters in length (a 40 character
sha1 and refs/) to prevent comparing unitialised memory. check_ref()
now gets the raw length so check for at least 5 characters.
Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'connect.c')
-rw-r--r-- | connect.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -17,7 +17,7 @@ static int check_ref(const char *name, int len, unsigned int flags) if (!flags) return 1; - if (len > 45 || memcmp(name, "refs/", 5)) + if (len < 5 || memcmp(name, "refs/", 5)) return 0; /* Skip the "refs/" part */ |