[PATCH] send pack remove remote reference limit
- From
Andy Whitcroft <apw@shadowen.org>
- Date
- Sep 5, 2006, 19:00 UTC
- Message-ID
- <20060905190017.GA24102@shadowen.org>
- In-Reply-To
- <7v64g2i9p8.fsf@assigned-by-dhcp.cox.net>
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> ---
diff --git a/connect.c b/connect.c index e501ccc..371aea1 100644 --- a/connect.c +++ b/connect.c @@ -17,7 +17,7 @@ static int check_ref(const char *name, i if (!flags) return 1; - if (len > 45 || memcmp(name, "refs/", 5)) + if (len < 5 || memcmp(name, "refs/", 5)) return 0; /* Skip the "refs/" part */