postgresql/src/tools
Thomas Munro f899c7f1ea Fix exception safety bug in typcache.c.
If an out-of-memory error was thrown at an unfortunate time,
ensure_record_cache_typmod_slot_exists() could leak memory and leave
behind a global state that produced an infinite loop on the next call.

Fix by merging RecordCacheArray and RecordIdentifierArray into a single
array.  With only one allocation or re-allocation, there is no
intermediate state.

Back-patch to all supported releases.

Reported-by: "James Pang (chaolpan)" <chaolpan@cisco.com>
Reviewed-by: Michael Paquier <michael@paquier.xyz>
Discussion: https://postgr.es/m/PH0PR11MB519113E738814BDDA702EDADD6EFA%40PH0PR11MB5191.namprd11.prod.outlook.com
2023-09-13 15:06:07 +12:00
..
ci ci: Make compute resources for CI configurable 2023-08-23 15:15:28 -07:00
editors Make Emacs perl-mode indent more like perltidy. 2019-01-13 11:32:31 -08:00
ifaddrs Update copyright for 2023 2023-01-02 15:00:37 -05:00
msvc src/tools/msvc/clean.bat: Reconcile with PostgreSQL 16 work. 2023-06-12 07:40:39 -07:00
perlcheck Allow and require passing files on command line of pgperltidy 2023-06-21 16:20:26 +02:00
pg_bsd_indent pg_bsd_indent: Collect test diffs in test.diffs instead of tests.diff 2023-07-12 16:26:03 -07:00
pginclude Doc: update src/tools/pginclude/README. 2023-05-23 18:51:43 -04:00
pgindent Fix exception safety bug in typcache.c. 2023-09-13 15:06:07 +12:00
PerfectHash.pm Pre-beta mechanical code beautification. 2023-05-19 17:24:48 -04:00
RELEASE_CHANGES Add defenses against unexpected changes in the NodeTag enum list. 2022-07-12 11:22:52 -04:00
ccsym
check_bison_recursion.pl Pre-beta mechanical code beautification. 2023-05-19 17:24:48 -04:00
codelines
copyright.pl Pre-beta mechanical code beautification. 2023-05-19 17:24:48 -04:00
darwin_sysroot Move darwin sysroot determination into separate file 2022-09-01 16:54:19 -07:00
find_badmacros
find_meson meson: Add initial version of meson based build system 2022-09-21 22:37:17 -07:00
find_static Fix `trap` in a few shell scripts 2022-09-20 18:50:16 +02:00
find_typedef Refer to OS X as "macOS", except for the port name which is still "darwin". 2016-09-25 15:40:57 -04:00
fix-old-flex-code.pl Update copyright for 2023 2023-01-02 15:00:37 -05:00
gen_export.pl Pre-beta mechanical code beautification. 2023-05-19 17:24:48 -04:00
gen_keywordlist.pl Pre-beta mechanical code beautification. 2023-05-19 17:24:48 -04:00
git-external-diff Preserve information on use of git-external-diff 2018-05-24 23:45:31 +09:30
git_changelog Pre-beta mechanical code beautification. 2023-05-19 17:24:48 -04:00
install_files meson: make install_test_files more generic, rename to install_files 2023-03-23 21:20:18 -07:00
make_ctags Fix make_etags breakage on certain platforms. 2023-06-14 11:02:50 +09:00
make_etags Fix make_etags failure on Mac. 2023-02-15 09:52:42 +09:00
make_mkid
mark_pgdllimport.pl Pre-beta mechanical code beautification. 2023-05-19 17:24:48 -04:00
pgflex meson: Add initial version of meson based build system 2022-09-21 22:37:17 -07:00
pgtest Fix `trap` in a few shell scripts 2022-09-20 18:50:16 +02:00
rcgen meson: Add windows resource files 2022-10-05 09:56:05 -07:00
testint128.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
testwrap meson: Add initial version of meson based build system 2022-09-21 22:37:17 -07:00
valgrind.supp Record dependencies of a cast on other casts that it requires. 2022-10-17 14:02:05 -04:00
version_stamp.pl Update copyright for 2023 2023-01-02 15:00:37 -05:00
win32tzlist.pl Pre-beta mechanical code beautification. 2023-05-19 17:24:48 -04:00