summaryrefslogtreecommitdiffstats
path: root/LICENSE
diff options
context:
space:
mode:
authorNick Terrell <terrelln@fb.com>2018-04-23 20:14:19 (GMT)
committerNick Terrell <terrelln@fb.com>2018-04-23 20:34:18 (GMT)
commitbb83cad98fdb15a7ade4cde582b98e836fb8ef11 (patch)
tree17bd7c7197b46ca8b8f1dfcc8cd501ec9e36d3bd /LICENSE
parent996d211aca5407c97b0c3736f20ae599f05f0d44 (diff)
downloadlz4-bb83cad98fdb15a7ade4cde582b98e836fb8ef11.zip
lz4-bb83cad98fdb15a7ade4cde582b98e836fb8ef11.tar.gz
lz4-bb83cad98fdb15a7ade4cde582b98e836fb8ef11.tar.bz2
Fix input size validation edge cases
The bug is a read up to 2 bytes past the end of the buffer. There are three cases for this bug, one for each test case added. * An empty input causes `token = *ip++` to read one byte too far. * A one byte input with `(token >> ML_BITS) == RUN_MASK` causes one extra byte to be read without validation. This could be combined with the first bug to cause 2 extra bytes to be read. * The case pointed out in issue #508, where `ip == iend` at the beginning of the loop after taking the shortcut. Benchmarks show no regressions on clang or gcc-7 on both my mac and devserver. Fixes #508.
Diffstat (limited to 'LICENSE')
0 files changed, 0 insertions, 0 deletions