diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2014-08-16 10:08:03 +0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-08-18 10:15:19 -0700 |
commit | 735efde838b68747e737e863427a4843a8efaddb (patch) | |
tree | 4cef9ebadedd09e57441e0bcba740418e9ba5395 /t/t1050-large.sh | |
parent | wrapper.c: introduce gentle xmallocz that does not die() (diff) | |
download | tgif-735efde838b68747e737e863427a4843a8efaddb.tar.xz |
sha1_file.c: do not die failing to malloc in unpack_compressed_entry
Fewer die() gives better control to the caller, provided that the
caller _can_ handle it. And in unpack_compressed_entry() case, it can,
because unpack_compressed_entry() already returns NULL if it fails to
inflate data.
A side effect from this is fsck continues to run when very large blobs
are present (and do not fit in memory).
Noticed-by: Dale R. Worley <worley@alum.mit.edu>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t1050-large.sh')
-rwxr-xr-x | t/t1050-large.sh | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/t/t1050-large.sh b/t/t1050-large.sh index aea493646e..5642f84b83 100755 --- a/t/t1050-large.sh +++ b/t/t1050-large.sh @@ -163,4 +163,10 @@ test_expect_success 'zip achiving, deflate' ' git archive --format=zip HEAD >/dev/null ' +test_expect_success 'fsck' ' + test_must_fail git fsck 2>err && + n=$(grep "error: attempting to allocate .* over limit" err | wc -l) && + test "$n" -gt 1 +' + test_done |