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 patch
This commit is contained in:
Junio C Hamano 2023-07-06 11:54:47 -07:00
Родитель a9cc3b8fc7 42612e18d2
Коммит 84b889bd03
2 изменённых файлов: 5 добавлений и 4 удалений

Просмотреть файл

@ -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