From 7d22a33e219ba8038821b378ab80ed9028723d49 Mon Sep 17 00:00:00 2001 From: Leon Scroggins III Date: Wed, 12 Apr 2017 17:01:26 -0400 Subject: Add a test for getFrameInfo on truncated data Prior to e132e7be5f9108692254c37db592ea7611abbc15, calling getFrameInfo on an SkGifCodec which was truncated before fully parsing the local color map of the first frame would hit an assert. Add a test to verify that the problem has been fixed. Modify box.gif to use a local color map for the first (and only) frame. Change-Id: I905afe60c0c6ecc82e251e00ef82b2e5b22975a3 Reviewed-on: https://skia-review.googlesource.com/13320 Reviewed-by: Chris Blume Commit-Queue: Leon Scroggins --- resources/box.gif | Bin 472 -> 472 bytes tests/CodecAnimTest.cpp | 7 +++++++ 2 files changed, 7 insertions(+) diff --git a/resources/box.gif b/resources/box.gif index bcf81863b7..72884ce484 100644 Binary files a/resources/box.gif and b/resources/box.gif differ diff --git a/tests/CodecAnimTest.cpp b/tests/CodecAnimTest.cpp index 02253ef64f..3d7080e35d 100644 --- a/tests/CodecAnimTest.cpp +++ b/tests/CodecAnimTest.cpp @@ -31,6 +31,13 @@ static void write_bm(const char* name, const SkBitmap& bm) { } } +DEF_TEST(Codec_trunc, r) { + sk_sp data(GetResourceAsData("box.gif")); + data = SkData::MakeSubset(data.get(), 0, 23); + std::unique_ptr codec(SkCodec::NewFromData(data)); + codec->getFrameInfo(); +} + DEF_TEST(Codec_frames, r) { #define kOpaque kOpaque_SkAlphaType #define kUnpremul kUnpremul_SkAlphaType -- cgit v1.2.3