diff options
author | Ryan Harrison <rharrison@chromium.org> | 2018-04-25 21:29:44 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-04-25 21:29:44 +0000 |
commit | 2456bbcbf51ed82ae9ce2836619bbebc5b926976 (patch) | |
tree | 32d8b9899386a4c55bcfbcefacda06b811edc9e9 /third_party/base/bits.h | |
parent | 67e3dd3c7b98a4e69d1fe2a7451bbb19ebb74eb1 (diff) | |
download | pdfium-2456bbcbf51ed82ae9ce2836619bbebc5b926976.tar.xz |
Don't store CE (comment extension) block data when decoding GIF
GIF extensions are laid out as follows: <size byte> <chunk of data>
<size byte> <chunk of data> ... <terminator byte>. The decoder needs
to scan along the data, finding the size bytes to determine where
the block ends in the stream, even if we don't care about the
content. Currently the decoder is storing all of the data chunks,
which are never used and take a lot of time to concat together if
they are very small.
Our implementation of the GIF spec does not handle this extension, so
when scanning for the end of the block, just don't bother storing
data from it.
BUG=chromium:833168
Change-Id: Iadf3ab3afd8145b6c5c7c22c30fe9316efcafc15
Reviewed-on: https://pdfium-review.googlesource.com/31315
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Diffstat (limited to 'third_party/base/bits.h')
0 files changed, 0 insertions, 0 deletions