diff options
author | 2015-11-05 11:19:29 -0800 | |
---|---|---|
committer | 2015-11-05 11:19:29 -0800 | |
commit | 691ad76fca076967806fe99587cf51595b7ad5a5 (patch) | |
tree | e57bb730aca0d311bc7096226f797ac47d6ec2c4 | |
parent | 5d7a7fe5631d87ca3c18d2f75d8402906616c17b (diff) |
Fix bug in sampled decodes
BUG=skia:
Review URL: https://codereview.chromium.org/1417993006
-rw-r--r-- | src/codec/SkSampledCodec.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/codec/SkSampledCodec.cpp b/src/codec/SkSampledCodec.cpp index 5302149e12..d5fbd0fa52 100644 --- a/src/codec/SkSampledCodec.cpp +++ b/src/codec/SkSampledCodec.cpp @@ -215,11 +215,12 @@ SkCodec::Result SkSampledCodec::sampledDecode(const SkImageInfo& info, void* pix dstHeight, y + 1); return SkCodec::kIncompleteInput; } - int linesToSkip = SkTMin(sampleY - 1, dstHeight - y - 1); - if (!fCodec->skipScanlines(linesToSkip)) { - fCodec->fillIncompleteImage(info, pixels, rowBytes, options.fZeroInitialized, - dstHeight, y + 1); - return SkCodec::kIncompleteInput; + if (y < dstHeight - 1) { + if (!fCodec->skipScanlines(sampleY - 1)) { + fCodec->fillIncompleteImage(info, pixels, rowBytes, + options.fZeroInitialized, dstHeight, y + 1); + return SkCodec::kIncompleteInput; + } } pixelPtr = SkTAddOffset<void>(pixelPtr, rowBytes); } |