Commit 5e9ab665 authored by Nigel Tao's avatar Nigel Tao

image/jpeg: have the LargeImageWithShortData test only allocate 64 MiB, not 604

MiB.

Fixes #10531

Change-Id: I9eece86837c3df2b1f7df315d5ec94bd3ede3eec
Reviewed-on: https://go-review.googlesource.com/9238
Run-TryBot: Nigel Tao <nigeltao@golang.org>
Reviewed-by: default avatarMatthew Dempsky <mdempsky@google.com>
parent edc53e1f
......@@ -207,13 +207,13 @@ func TestTruncatedSOSDataDoesntPanic(t *testing.T) {
}
}
func TestVeryLargeImageWithShortData(t *testing.T) {
// This input is an invalid JPEG image, generated by a fuzzer, as reported
// by issue 10413. It is only 504 bytes, and shouldn't take long for Decode
func TestLargeImageWithShortData(t *testing.T) {
// This input is an invalid JPEG image, based on the fuzzer-generated image
// in issue 10413. It is only 504 bytes, and shouldn't take long for Decode
// to return an error. The Start Of Frame marker gives the image dimensions
// as 38655 wide and 16384 high, so even if an unreadByteStuffedByte bug
// doesn't technically lead to in an infinite loop, such a bug can still
// cause an unreasonably long loop for such a short input.
// as 8192 wide and 8192 high, so even if an unreadByteStuffedByte bug
// doesn't technically lead to an infinite loop, such a bug can still cause
// an unreasonably long loop for such a short input.
const input = "" +
"\xff\xd8\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01\x01\x00\x00\x01" +
"\x00\x01\x00\x00\xff\xdb\x00\x43\x00\x10\x0b\x0c\x0e\x0c\x0a\x10" +
......@@ -223,7 +223,7 @@ func TestVeryLargeImageWithShortData(t *testing.T) {
"\x28\x1a\x18\x16\x16\x18\x31\x23\x25\x1d\x28\x3a\x33\x3d\x3c\x39" +
"\x33\x38\x37\x40\x48\x5c\x4e\x40\x44\x57\x45\x37\x38\x50\x6d\x51" +
"\x57\x5f\x62\x67\x68\x67\x3e\x4d\x71\x79\x70\x64\x78\x5c\x65\x67" +
"\x63\xff\xc0\x00\x0b\x08\x40\x00\x96\xff\x01\x01\x11\x00\xff\xc4" +
"\x63\xff\xc0\x00\x0b\x08\x20\x00\x20\x00\x01\x01\x11\x00\xff\xc4" +
"\x00\x1f\x00\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00" +
"\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\xff" +
"\xc4\x00\xb5\x10\x00\x02\x01\x03\x03\x02\x04\x03\x05\x05\x04\x04" +
......@@ -257,7 +257,7 @@ func TestVeryLargeImageWithShortData(t *testing.T) {
if err == nil {
t.Fatalf("got nil error, want non-nil")
}
case <-time.After(10 * time.Second):
case <-time.After(3 * time.Second):
t.Fatalf("timed out")
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment