diff options
| -rw-r--r-- | apply.c | 7 | ||||
| -rwxr-xr-x | t/t4141-apply-too-large.sh | 2 |
2 files changed, 5 insertions, 4 deletions
@@ -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 diff --git a/t/t4141-apply-too-large.sh b/t/t4141-apply-too-large.sh index 58742d4fc5..20cc1209f6 100755 --- a/t/t4141-apply-too-large.sh +++ b/t/t4141-apply-too-large.sh @@ -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 |
