Improve pglz_decompress() so that it cannot clobber memory beyond the

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 9c767ad57b2dfbbed6b08fd56c8ce320e6fe8849
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2008-03-08T01:09:36Z
Releases: 8.4.0
Improve pglz_decompress() so that it cannot clobber memory beyond the
available output buffer when presented with corrupt input.  Some testing
suggests that this slows the decompression loop about 1%, which seems an
acceptable price to pay for more robustness.  (Curiously, the penalty
seems to be *less* on not-very-compressible data, which I didn't expect
since the overhead per output byte ought to be more in the literal-bytes
path.)

Patch from Zdenek Kotala.  I fixed a corner case and did some renaming
of variables to make the routine more readable.

Files

PathChange+/−
src/backend/utils/adt/pg_lzcompress.c modified +46 −31