So a lot of alterations had to be done to make this not worse and so far, it's not really better, either. I had to force inlining for the adler routine, I had to remove the x4 load instruction otherwise pipelining stalled, and I had to use restrict pointers with a copy idiom for GCC to inline a copy routine for the tail. Still, we see a small benefit in benchmarks, particularly when done with size of our window or larger. There's also an added benefit that this will fix #1824.
Contents
| Name | Description |
|---|---|
| CVE-2003-0107 | Buffer overflow in the gzprintf function, requires ZLIB_COMPAT |
| CVE-2002-0059 | inflateEnd to release memory more than once |
| CVE-2004-0797 | Error handling in inflate and inflateBack causes crash |
| CVE-2005-1849 | inftrees.h bug causes crash |
| CVE-2005-2096 | Buffer overflow when incomplete code description |
| CVE-2018-25032 | Memory corruption when compressing if the input has many distant matches. |
| GH-361 | Test case for overlapping matches |
| GH-364 | Test case for switching compression levels |
| GH-382 | Test case for deflateEnd returning -3 in deflate quick |
Copying
Some of the files in test are licensed differently:
-
test/data/fireworks.jpeg is Copyright 2013 Steinar H. Gunderson, and is licensed under the Creative Commons Attribution 3.0 license (CC-BY-3.0). See https://creativecommons.org/licenses/by/3.0/ for more information.
-
test/data/paper-100k.pdf is an excerpt (bytes 92160 to 194560) from the paper “Combinatorial Modeling of Chromatin Features Quantitatively Predicts DNA Replication Timing in Drosophila” by Federico Comoglio and Renato Paro, which is licensed under the CC-BY license. See https://www.ploscompbiol.org/static/license for more information.
-
test/data/lcet10.txt is from Project Gutenberg. It does not have expired copyright, but is still in the public domain according to the license information. (https://www.gutenberg.org/ebooks/53).
-
test/GH-382/defneg3.dat was the smallest file generated by Nathan Moinvaziri that reproduced GH-382. It is licensed under the terms of the zlib license.