postgresql/src/common
Tom Lane 9b103f861e Improve pglz_decompress's defenses against corrupt compressed data.
When processing a match tag, check to see if the claimed "off"
is more than the distance back to the output buffer start.
If it is, then the data is corrupt, and what's more we would
fetch from outside the buffer boundaries and potentially incur
a SIGSEGV.  (Although the odds of that seem relatively low, given
that "off" can't be more than 4K.)

Back-patch to v13; before that, this function wasn't really
trying to protect against bad data.

Report and fix by Flavien Guedez.

Discussion: https://postgr.es/m/01fc0593-e31e-463d-902c-dd43174acee2@oopacity.net
2023-10-18 20:43:27 -04:00
..
unicode Update Unicode data to Unicode 15.1.0 2023-09-18 07:26:34 +02:00
.gitignore Replace the data structure used for keyword lookup. 2019-01-06 17:02:57 -05:00
Makefile Restore proper linkage of pg_char_to_encoding() and friends. 2023-10-07 12:08:10 -04:00
archive.c Revert refactoring of restore command code to shell_restore.c 2023-02-06 08:28:42 +09:00
base64.c Fix small overestimation of base64 encoding output length. 2023-06-08 11:24:31 -04:00
binaryheap.c Add function for removing arbitrary nodes in binaryheap. 2023-09-18 14:06:08 -07:00
checksum_helper.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
compression.c Message style improvements 2023-05-19 18:45:29 +02:00
config_info.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
controldata_utils.c Try to handle torn reads of pg_control in frontend. 2023-10-16 17:33:08 +13:00
cryptohash.c Improve/correct comments 2023-03-09 09:59:46 +01:00
cryptohash_openssl.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
d2s.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
d2s_full_table.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
d2s_intrinsics.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
digit_table.h Change floating-point output format for improved performance. 2019-02-13 15:20:33 +00:00
encnames.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
exec.c Implement find_my_exec()'s path normalization using realpath(3). 2023-03-23 18:17:49 -04:00
f2s.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
fe_memutils.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
file_perm.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
file_utils.c Add support for syncfs() in frontend support functions. 2023-09-06 16:27:00 -07:00
hashfn.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
hmac.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
hmac_openssl.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
ip.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
jsonapi.c Improve JsonLexContext's freeability 2023-10-05 10:59:08 +02:00
keywords.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
kwlookup.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
link-canary.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
logging.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
md5.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
md5_common.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
md5_int.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
meson.build Restore proper linkage of pg_char_to_encoding() and friends. 2023-10-07 12:08:10 -04:00
percentrepl.c Fix error message wordings 2023-05-17 21:33:47 +02:00
pg_get_line.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_lzcompress.c Improve pglz_decompress's defenses against corrupt compressed data. 2023-10-18 20:43:27 -04:00
pg_prng.c Invent random_normal() to provide normally-distributed random numbers. 2023-01-09 12:44:00 -05:00
pgfnames.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
protocol_openssl.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
psprintf.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
relpath.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
restricted_token.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
rmtree.c Avoid memory leak in rmtree() when path cannot be opened 2023-07-31 11:36:44 +09:00
ryu_common.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
saslprep.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
scram-common.c Make SCRAM iteration count configurable 2023-03-27 09:46:29 +02:00
sha1.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
sha1_int.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
sha2.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
sha2_int.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
sprompt.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
string.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
stringinfo.c Use appendStringInfoSpaces in more places 2023-01-20 13:07:24 +13:00
unicode_norm.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
username.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
wait_error.c Add SHELL_ERROR and SHELL_EXIT_CODE magic variables to psql. 2023-03-21 13:03:56 -04:00
wchar.c Update copyright for 2023 2023-01-02 15:00:37 -05:00