The logic to check whether a file is a gitfile used the heuristics that the file cannot be larger than PATH_MAX. But in that case it returned the wrong value. Our test cases do not cover this, as the bundle files produced are smaller than PATH_MAX. Except on Windows. While at it, fix the faulty logic that the path stored in a gitfile cannot be larger than PATH_MAX-sizeof("gitfile: "). Problem identified by running the test suite in msysGit, offending commit identified by Jörg Rosenkranz. Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> --- This patch should apply cleanly to 'next', which we track in msysgit/git. The task of adding a test case is something I leave to someone who wants to get involved with Git development and needs an easy way in. transport.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/transport.c b/transport.c index f3195c0..57138d9 100644 --- a/transport.c +++ b/transport.c @@ -868,8 +868,8 @@ static int is_gitfile(const char *url) return 0; if (!S_ISREG(st.st_mode)) return 0; - if (st.st_size < 10 || st.st_size > PATH_MAX) - return 1; + if (st.st_size < 10 || st.st_size > 9 + PATH_MAX) + return 0; fd = open(url, O_RDONLY); if (fd < 0) -- 1.7.6.msysgit.0.584.g2cbf