aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add gznorm.c example, which normalizes gzip files.Mark Adler2018-10-072-0/+474
|
* Show all the codes for the maximum tables size in enough.c.Mark Adler2018-08-051-160/+191
|
* Clarify that prefix codes are counted in enough.c.Mark Adler2018-08-051-15/+15
| | | | | | | | There is no assurance that all prefix codes are reachable as optimal Huffman codes for the numbers of symbols encountered in a deflate block. This code considers all possible prefix codes, which might be a larger set than all possible Huffman codes, depending on the constraints.
* Use inline function instead of macro for index in enough.c.Mark Adler2018-08-051-4/+8
|
* Clean up code style in enough.c, update version.Mark Adler2018-08-011-211/+202
|
* Use a macro for the printf format of big_t in enough.c.Mark Adler2018-08-011-7/+3
|
* Use a structure to make globals in enough.c evident.Mark Adler2018-08-011-86/+89
|
* Assure that the number of bits for deflatePrime() is valid.Mark Adler2018-04-191-1/+2
|
* Fix a bug that can crash deflate on some input when using Z_FIXED.Mark Adler2018-04-193-70/+79
| | | | | | | | | | | | | | | | | | | | | This bug was reported by Danilo Ramos of Eideticom, Inc. It has lain in wait 13 years before being found! The bug was introduced in zlib 1.2.2.2, with the addition of the Z_FIXED option. That option forces the use of fixed Huffman codes. For rare inputs with a large number of distant matches, the pending buffer into which the compressed data is written can overwrite the distance symbol table which it overlays. That results in corrupted output due to invalid distances, and can result in out-of-bound accesses, crashing the application. The fix here combines the distance buffer and literal/length buffers into a single symbol buffer. Now three bytes of pending buffer space are opened up for each literal or length/distance pair consumed, instead of the previous two bytes. This assures that the pending buffer cannot overwrite the symbol table, since the maximum fixed code compressed length/distance is 31 bits, and since there are four bytes of pending space for every three bytes of symbol space.
* Correct the initialization requirements for deflateInit2().Mark Adler2018-01-311-2/+1
|
* Emphasize the need to continue decompressing gzip members.Mark Adler2018-01-081-3/+5
|
* Add legal disclaimer to README.Mark Adler2017-10-121-1/+4
|
* Fix deflateEnd() to not report an error at start of raw deflate.Mark Adler2017-10-121-1/+3
|
* Remove old assembler code in which bugs have manifested.Mark Adler2017-10-1218-6172/+0
| | | | | In addition, there is not sufficient gain from the inflate assembler code to warrant its inclusion.
* Make the names in functions declarations identical to definitions.Mark Adler2017-10-123-6/+6
|
* Avoid an undefined behavior of memcpy() in _tr_stored_block().Mark Adler2017-10-121-1/+2
| | | | | Allegedly the behavior of memcpy() is undefined if the source pointer is NULL, even if the number of bytes to copy is zero.
* Avoid undefined behaviors of memcpy() in gz*printf().Mark Adler2017-10-121-2/+2
|
* Avoid an undefined behavior of memcpy() in gzappend().Mark Adler2017-10-121-1/+1
|
* Avoid the use of ptrdiff_t.Mark Adler2017-06-032-11/+3
| | | | | | | | | | | | | | | | | This isn't the right type anyway to assure that it contains a pointer. That type would be intptr_t or uintptr_t. However the C99 standard says that those types are optional, so their use would not be portable. This commit simply uses size_t or whatever configure decided to use for size_t. That would be the same length as ptrdiff_t, and so will work just as well. The code checks to see if the length of the type used is the same as the length of a void pointer, so there is already protection against the use of the wrong type. The use of size_t (or ptrdiff_t) will almost always work, as all modern architectures have an array size that is the same as the pointer size. Only old segmented architectures would have to fall back to the slower CRC-32 calculation, where the amount of memory that can be accessed is larger than the maximum array size.
* Handle case where inflateSync used when header never processed.Mark Adler2017-04-161-0/+2
| | | | | | | | | If zlib and/or gzip header processing was requested, but a header was never provided and inflateSync was used successfully, then the inflate state would be inconsistent, trying to compute a check value but with no flags set. This commit sets the inflate mode to raw in this case, since there is no other assumption that can be made if a header was requested but never seen.
* Don't compute check value for raw inflate if asked to validate.Mark Adler2017-03-301-1/+1
|
* Add address checking in clang to -w option of configure.Mark Adler2017-02-181-2/+2
|
* Return an error if the gzputs string length can't fit in an int.Mark Adler2017-02-151-4/+7
|
* Small speedup to inflate [psumbera].Mark Adler2017-02-151-14/+14
| | | | | | Seeing a few percent speedup by using a pointer instead of an assigned structure. This seems to help the compiler to optimize better.
* Update use of errno for newer Windows CE versions.Mark Adler2017-02-151-2/+2
|
* Avoid some conversion warnings in gzread.c and gzwrite.c.Mark Adler2017-02-152-8/+6
|
* Have Makefile return non-zero error code on test failure.Mark Adler2017-02-151-6/+6
|
* Avoid a conversion error in gzseek when off_t type too small.Mark Adler2017-02-151-2/+2
| | | | | | | | This is a problem in the odd case that the second argument of LSEEK is a larger type than off_t. Apparently MinGW defines off_t to be 32 bits, but _lseeki64 has a 64-bit second argument. Also undo a previous commit to permit MinGW to use _lseeki64.
* Fix CLEAR_HASH macro to be usable as a single statement.Mark Adler2017-02-151-2/+5
| | | | As it is used in deflateParams().
* Fix bug when window full in deflate_stored().Mark Adler2017-02-151-1/+1
|
* Limit hash table inserts after switch from stored deflate.Mark Adler2017-02-151-1/+9
| | | | | | | This limits hash table inserts to the available data in the window and to the sliding window size in deflate_stored(). The hash table inserts are deferred until deflateParams() switches to a non-zero compression level.
* Permit a deflateParams() parameter change as soon as possible.Mark Adler2017-02-152-8/+9
| | | | | | | | | This commit allows a parameter change even if the input data has not all been compressed and copied to the application output buffer, so long as all of the input data has been compressed to the internal pending output buffer. This also allows an immediate deflateParams change so long as there have been no deflate calls since initialization or reset.
* Cygwin does not have _wopen(), so do not create gzopen_w() there.Mark Adler2017-01-162-2/+2
|
* Change version number to 1.2.11.1.Mark Adler2017-01-1525-48/+51
|
* zlib 1.2.11v1.2.11Mark Adler2017-01-1529-54/+58
|
* Permit immediate deflateParams changes before any deflate input.Mark Adler2017-01-152-5/+7
| | | | | | | This permits deflateParams to change the strategy and level right after deflateInit, without having to wait until a header has been written. The parameters can be changed immediately up until the first deflate call that consumes any input data.
* Update high water mark in deflate_stored.Mark Adler2017-01-151-0/+4
| | | | | | | This avoids unnecessary filling of bytes in the sliding window buffer when switching from level zero to a non-zero level. This also provides a consistent indication of deflate having taken input for a later commit ...
* Update vestigial comment from very old Info-ZIP deflate.Mark Adler2017-01-151-2/+2
|
* Fix deflate stored bug when pulling last block from window.Mark Adler2017-01-151-5/+5
| | | | And some cosmetic cleanups.
* Update location of Visual Studio project files.Mark Adler2017-01-151-1/+1
|
* Delete user-specific Visual Studio project files.Mark Adler2017-01-156-24/+0
|
* Change version number to 1.2.10.1.Mark Adler2017-01-1527-53/+53
|
* zlib 1.2.10v1.2.10Mark Adler2017-01-0225-54/+58
|
* Fix compilation with --solo and --debug combined.Mark Adler2017-01-021-1/+1
| | | | | However this ends up not really being solo, since it has to include external libraries.
* Add warnings when compiling with assembler code.Mark Adler2017-01-022-1/+4
| | | | | | | There have been many reports of bugs in the assembler codes intended to speed up deflate and inflate. They are third-party contributions in contrib, and so are not supported by the zlib maintainers.
* Remove files to be installed before copying them in Makefile.in.Mark Adler2017-01-021-0/+5
|
* Fix bug in gzwrite.c that produced corrupt gzip files.Mark Adler2017-01-021-0/+1
|
* Fix bug in deflate_stored() for zero-length input.Mark Adler2017-01-021-18/+19
|
* Minor edits and clarifications of comments.Mark Adler2017-01-011-7/+8
|
* Avoid warnings on snprintf() return value.Mark Adler2017-01-011-4/+4
|