Merge branch 'pw/apply-too-large'
"git apply" punts when it is fed too large a patch input; the error message it gives when it happens has been clarified. * pw/apply-too-large: apply: improve error messages when reading patchmaint
commit
84b889bd03
7
apply.c
7
apply.c
|
@ -414,9 +414,10 @@ static void say_patch_name(FILE *output, const char *fmt, struct patch *patch)
|
|||
|
||||
static int read_patch_file(struct strbuf *sb, int fd)
|
||||
{
|
||||
if (strbuf_read(sb, fd, 0) < 0 || sb->len >= MAX_APPLY_SIZE)
|
||||
return error_errno("git apply: failed to read");
|
||||
|
||||
if (strbuf_read(sb, fd, 0) < 0)
|
||||
return error_errno(_("failed to read patch"));
|
||||
else if (sb->len >= MAX_APPLY_SIZE)
|
||||
return error(_("patch too large"));
|
||||
/*
|
||||
* Make sure that we have some slop in the buffer
|
||||
* so that we can do speculative "memcmp" etc, and
|
||||
|
|
|
@ -17,7 +17,7 @@ test_expect_success EXPENSIVE 'git apply rejects patches that are too large' '
|
|||
EOF
|
||||
test-tool genzeros
|
||||
} | test_copy_bytes $sz | test_must_fail git apply 2>err &&
|
||||
grep "git apply: failed to read" err
|
||||
grep "patch too large" err
|
||||
'
|
||||
|
||||
test_done
|
||||
|
|
Loading…
Reference in New Issue