Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
2d13142
pg_upgrade: Use max_protocol_version=3.0 for older servers
jchampio Feb 24, 2026
1f46e39
Stabilize output of new isolation test insert-conflict-do-update-4.
tglsfdc Feb 25, 2026
ada8d73
Fix some cases of indirectly casting away const.
tglsfdc Feb 25, 2026
9be974d
Allow PG_PRINTF_ATTRIBUTE to be different in C and C++ code.
tglsfdc Feb 25, 2026
3305ec7
Fix ProcWakeup() resetting wrong waitStart field.
MasaoFujii Feb 25, 2026
81176eb
doc: Clarify INCLUDING COMMENTS behavior in CREATE TABLE LIKE.
MasaoFujii Feb 26, 2026
a7d7075
EUC_CN, EUC_JP, EUC_KR, EUC_TW: Skip U+00A0 tests instead of failing.
nmisch Feb 26, 2026
e326d5a
Use CXXFLAGS instead of CFLAGS for linking C++ code
tglsfdc Feb 26, 2026
95f3f9f
Fix Solution.pm for change in pg_config.h contents.
tglsfdc Feb 26, 2026
5fff2ca
Fix more multibyte issues in ltree.
jeff-davis Feb 26, 2026
4a72543
postgres_fdw: Fix thinko in comment for UserMappingPasswordRequired().
Feb 27, 2026
dafe934
Fix set of issues with extended statistics on expressions
michaelpq Mar 2, 2026
0750495
test_custom_types: Test module with fancy custom data types
michaelpq Mar 2, 2026
2b0750f
basic_archive: Allow archive directory to be missing at startup.
nathan-bossart Mar 2, 2026
cb3e963
doc: Clarify that empty COMMENT string removes the comment.
MasaoFujii Mar 3, 2026
1703d78
Fix rare instability in recovery TAP test 009_twophase
michaelpq Mar 4, 2026
b3df5cc
Skip prepared_xacts test if max_prepared_transactions < 2
hlinnaka Mar 4, 2026
72be5d9
Don't malloc(0) in EventTriggerCollectAlterTSConfig
alvherre Mar 4, 2026
b4cdbd3
Fix yet another bug in archive streamer with LZ4 decompression.
tglsfdc Mar 4, 2026
3c94334
Fix rare instability in recovery TAP test 004_timeline_switch
michaelpq Mar 5, 2026
b66b71a
doc: Clarify that COLUMN is optional in ALTER TABLE ... ADD/DROP COLUMN.
MasaoFujii Mar 5, 2026
926ad30
Fix handling of updated tuples in the MERGE statement
akorotkov Mar 5, 2026
f2748fe
Exit after fatal errors in client-side compression code.
tglsfdc Mar 5, 2026
b93ba49
Fix publisher shutdown hang caused by logical walsender busy loop.
MasaoFujii Mar 6, 2026
7a6e7c2
Fix size underestimation of DSA pagemap for odd-sized segments
michaelpq Mar 9, 2026
4d5977b
doc: Document IF NOT EXISTS option for ALTER FOREIGN TABLE ADD COLUMN.
MasaoFujii Mar 9, 2026
52e3150
xml2: Fix failure with xslt_process() under -fsanitize=undefined
michaelpq Mar 13, 2026
36c72a7
Use GetXLogInsertEndRecPtr in gistGetFakeLSN
tvondra Mar 13, 2026
f7fee89
Tighten asserts on ParallelWorkerNumber
tvondra Mar 14, 2026
a57e4ef
Fix WAL flush LSN used by logical walsender during shutdown
MasaoFujii Mar 16, 2026
5f26bfa
Fix dependency on FDW handler.
jeff-davis Mar 19, 2026
d8a2c3d
Fix finalization of decompressor astreamers.
tglsfdc Mar 22, 2026
ff79874
Fix multixact backwards-compatibility with CHECKPOINT race condition
hlinnaka Mar 23, 2026
67a0a59
Fix copy-paste error in test_ginpostinglist
j-naylor Mar 24, 2026
6303eef
Fix premature NULL lag reporting in pg_stat_replication
MasaoFujii Mar 26, 2026
1ed902d
Avoid memory leak on error while parsing pg_stat_statements dump file
hlinnaka Mar 27, 2026
4c7d8e2
Fix multiple bugs in astreamer pipeline code.
adunstan Mar 29, 2026
e85f0c7
Fix datum_image_*()'s inability to detect sign-extension variations
david-rowley Mar 30, 2026
659dc5d
Be more careful to preserve consistency of a tuplestore.
tglsfdc Mar 30, 2026
67cdb49
doc: Add missing description for DROP SUBSCRIPTION IF EXISTS.
nathan-bossart Apr 1, 2026
a06b9d1
jit: Stop emitting lifetime.end for LLVM 22.
macdice Apr 2, 2026
97ea980
jit: No backport::SectionMemoryManager for LLVM 22.
macdice Apr 3, 2026
5c68eba
Avoid unsafe access to negative index in a TupleDesc.
tglsfdc Apr 6, 2026
94d007a
Fix integer overflow in nodeWindowAgg.c
Apr 9, 2026
c0d6a82
Enhance make_ctags and make_etags.
tatsuo-ishii Oct 19, 2022
3c147fb
Fix heap-buffer-overflow in pglz_decompress() on corrupt input.
adunstan Apr 9, 2026
277a032
Honor passed-in database OIDs in pgstat_database.c
michaelpq Apr 11, 2026
f143378
Add tests for low-level PGLZ [de]compression routines
michaelpq Apr 14, 2026
ee43c2c
Fix comments for Korean encodings in encnames.c
macdice Apr 16, 2026
fb54f24
doc: Improve description of pg_ctl -l log file permissions
MasaoFujii Apr 17, 2026
e3421d6
doc: Correct context description for some JIT support GUCs
MasaoFujii Apr 20, 2026
15dbcc2
Fix orphaned processes when startup process fails during PM_STARTUP
michaelpq Apr 21, 2026
f76b985
Fix incorrect NEW references to generated columns in rule rewriting
Apr 21, 2026
7913d8b
Make plpgsql_trap test more robust and less resource-intensive.
tglsfdc Apr 21, 2026
a01db48
Allow ALTER INDEX .. ATTACH PARTITION to validate a parent index
michaelpq Apr 22, 2026
bbdd0e2
Prevent buffer overrun in spell.c's CheckAffix().
tglsfdc Apr 22, 2026
91f6c05
Prevent some buffer overruns in spell.c's parsing of affix files.
tglsfdc Apr 22, 2026
2850b49
Guard against overly-long numeric formatting symbols from locale.
tglsfdc Apr 22, 2026
d476bb7
Don't allow composite type to be member of itself via multirange
hlinnaka Apr 23, 2026
e862048
Don't call CheckAttributeType() with InvalidOid on dropped cols
hlinnaka Apr 23, 2026
430b334
pg_test_timing: fix unit in backward-clock warning
MasaoFujii Apr 23, 2026
d2ee85a
Fix incorrect logic for hashed IN / NOT IN with non-strict operators
david-rowley Apr 24, 2026
5cb6a63
Update time zone data files to tzdata release 2026b.
tglsfdc Apr 24, 2026
21544e5
doc: Fix grammar in some logical replication pages
michaelpq Apr 27, 2026
2bf00ad
Suppress "has no symbols" linker warnings on macOS.
nathan-bossart Apr 29, 2026
3e3dce0
Fix attnum remapping in generateClonedExtStatsStmt()
adunstan Apr 30, 2026
b905fef
doc: Mention validation attempt during ALTER INDEX .. ATTACH PARTITION
michaelpq May 1, 2026
cc6e5da
Add missing connection validation in ECPG
adunstan May 1, 2026
e1109fe
Mark modified the FSM buffer as dirty during recovery
akorotkov May 3, 2026
6c16c7a
Consider collation when proving uniqueness from unique indexes
May 5, 2026
517ec2c
Consider collation when proving subquery uniqueness
May 5, 2026
bebe347
postgres_fdw: Fix handling of abort-cleanup-failed connections.
May 5, 2026
29d1387
Release notes for 18.4, 17.10, 16.14, 15.18, 14.23.
tglsfdc May 10, 2026
4e7a8fe
Translation updates
petere May 11, 2026
df033e1
ltree: Fix overflows with lquery parsing
michaelpq May 11, 2026
49e5bcc
Fix overflows with ts_headline()
michaelpq May 11, 2026
6794dac
Add pg_add_size_overflow() and friends
tglsfdc May 11, 2026
e579fcf
Make palloc_array() and friends safe against integer overflow.
tglsfdc May 11, 2026
6ec3daa
Harden our regex engine against integer overflow in size calculations.
tglsfdc May 11, 2026
deec158
Prevent buffer overrun in unicode_normalize().
tglsfdc May 11, 2026
db2e574
Fix assorted places that need to use palloc_array().
tglsfdc May 11, 2026
98446f2
Add raw_connect and raw_connect_works to Cluster.pm
michaelpq May 11, 2026
a29d14a
Fix unbounded recursive handling of SSL/GSS in ProcessStartupPacket()
michaelpq May 11, 2026
3d07f8c
Unify src/common/'s definitions of MaxAllocSize.
tglsfdc May 11, 2026
0dced05
Guard against overflow in "left" fields of query_int and ltxtquery.
tglsfdc May 11, 2026
5cd629e
Add timingsafe_bcmp(), for constant-time memory comparison
hlinnaka May 11, 2026
6b8f4ad
Apply timingsafe_bcmp() in authentication paths
michaelpq May 11, 2026
4dd1610
Avoid passing unintended format codes to snprintf().
tglsfdc May 11, 2026
1a7190a
Guard against unsafe conditions in usage of pg_strftime().
tglsfdc May 11, 2026
0f64997
Check CREATE privilege on multirange type schema in CREATE TYPE.
nathan-bossart May 11, 2026
dce2790
Avoid overflow in size calculations in formatting.c.
nathan-bossart May 11, 2026
6231477
Prevent path traversal in pg_basebackup and pg_rewind
michaelpq May 11, 2026
bcfe41d
Fix integer-overflow and alignment hazards in locale-related code.
tglsfdc May 11, 2026
24925d7
Fix integer overflow in array_agg(), when the array grows too large
hlinnaka May 11, 2026
6fdebec
Mark PQfn() unsafe and fix overrun in frontend LO interface.
nathan-bossart May 11, 2026
afced6e
refint: Fix SQL injection and buffer overruns.
nathan-bossart May 11, 2026
14a4d5b
Remove test cases for field overflows in intarray and ltree.
tglsfdc May 11, 2026
74c2387
Use palloc_array() in a few more places to avoid overflow
hlinnaka May 11, 2026
e711132
Last-minute updates for release notes.
tglsfdc May 11, 2026
28ebff9
Stamp 15.18.
tglsfdc May 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 41 additions & 5 deletions config/c-compiler.m4
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@
# Select the format archetype to be used by gcc to check printf-type functions.
# We prefer "gnu_printf", as that most closely matches the features supported
# by src/port/snprintf.c (particularly the %m conversion spec). However,
# on some NetBSD versions, that doesn't work while "__syslog__" does.
# If all else fails, use "printf".
# on clang and on some NetBSD versions, that doesn't work while "__syslog__"
# does. If all else fails, use "printf".
AC_DEFUN([PGAC_PRINTF_ARCHETYPE],
[AC_CACHE_CHECK([for printf format archetype], pgac_cv_printf_archetype,
[AC_CACHE_CHECK([for C printf format archetype], pgac_cv_printf_archetype,
[pgac_cv_printf_archetype=gnu_printf
PGAC_TEST_PRINTF_ARCHETYPE
if [[ "$ac_archetype_ok" = no ]]; then
Expand All @@ -20,8 +20,8 @@ if [[ "$ac_archetype_ok" = no ]]; then
pgac_cv_printf_archetype=printf
fi
fi])
AC_DEFINE_UNQUOTED([PG_PRINTF_ATTRIBUTE], [$pgac_cv_printf_archetype],
[Define to best printf format archetype, usually gnu_printf if available.])
AC_DEFINE_UNQUOTED([PG_C_PRINTF_ATTRIBUTE], [$pgac_cv_printf_archetype],
[Define to best C printf format archetype, usually gnu_printf if available.])
])# PGAC_PRINTF_ARCHETYPE

# Subroutine: test $pgac_cv_printf_archetype, set $ac_archetype_ok to yes or no
Expand Down Expand Up @@ -92,6 +92,42 @@ undefine([Ac_cachevar])dnl
])# PGAC_TYPE_64BIT_INT


# PGAC_CXX_PRINTF_ARCHETYPE
# -------------------------
# Because we support using gcc as C compiler with clang as C++ compiler,
# we have to be prepared to use different printf archetypes in C++ code.
# So, do the above test all over in C++.
AC_DEFUN([PGAC_CXX_PRINTF_ARCHETYPE],
[AC_CACHE_CHECK([for C++ printf format archetype], pgac_cv_cxx_printf_archetype,
[pgac_cv_cxx_printf_archetype=gnu_printf
PGAC_TEST_CXX_PRINTF_ARCHETYPE
if [[ "$ac_archetype_ok" = no ]]; then
pgac_cv_cxx_printf_archetype=__syslog__
PGAC_TEST_CXX_PRINTF_ARCHETYPE
if [[ "$ac_archetype_ok" = no ]]; then
pgac_cv_cxx_printf_archetype=printf
fi
fi])
AC_DEFINE_UNQUOTED([PG_CXX_PRINTF_ATTRIBUTE], [$pgac_cv_cxx_printf_archetype],
[Define to best C++ printf format archetype, usually gnu_printf if available.])
])# PGAC_CXX_PRINTF_ARCHETYPE

# Subroutine: test $pgac_cv_cxx_printf_archetype, set $ac_archetype_ok to yes or no
AC_DEFUN([PGAC_TEST_CXX_PRINTF_ARCHETYPE],
[ac_save_cxx_werror_flag=$ac_cxx_werror_flag
ac_cxx_werror_flag=yes
AC_LANG_PUSH(C++)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[extern void pgac_write(int ignore, const char *fmt,...)
__attribute__((format($pgac_cv_cxx_printf_archetype, 2, 3)));],
[pgac_write(0, "error %s: %m", "foo");])],
[ac_archetype_ok=yes],
[ac_archetype_ok=no])
AC_LANG_POP([])
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
])# PGAC_TEST_CXX_PRINTF_ARCHETYPE


# PGAC_TYPE_128BIT_INT
# --------------------
# Check if __int128 is a working 128 bit integer type, and if so
Expand Down
137 changes: 125 additions & 12 deletions configure
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for PostgreSQL 15.17.
# Generated by GNU Autoconf 2.69 for PostgreSQL 15.18.
#
# Report bugs to <pgsql-bugs@lists.postgresql.org>.
#
Expand Down Expand Up @@ -582,8 +582,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='PostgreSQL'
PACKAGE_TARNAME='postgresql'
PACKAGE_VERSION='15.17'
PACKAGE_STRING='PostgreSQL 15.17'
PACKAGE_VERSION='15.18'
PACKAGE_STRING='PostgreSQL 15.18'
PACKAGE_BUGREPORT='pgsql-bugs@lists.postgresql.org'
PACKAGE_URL='https://www.postgresql.org/'

Expand Down Expand Up @@ -1452,7 +1452,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures PostgreSQL 15.17 to adapt to many kinds of systems.
\`configure' configures PostgreSQL 15.18 to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

Expand Down Expand Up @@ -1517,7 +1517,7 @@ fi

if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of PostgreSQL 15.17:";;
short | recursive ) echo "Configuration of PostgreSQL 15.18:";;
esac
cat <<\_ACEOF

Expand Down Expand Up @@ -1691,7 +1691,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
PostgreSQL configure 15.17
PostgreSQL configure 15.18
generated by GNU Autoconf 2.69

Copyright (C) 2012 Free Software Foundation, Inc.
Expand Down Expand Up @@ -2444,7 +2444,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by PostgreSQL $as_me 15.17, which was
It was created by PostgreSQL $as_me 15.18, which was
generated by GNU Autoconf 2.69. Invocation command line was

$ $0 $@
Expand Down Expand Up @@ -15145,8 +15145,8 @@ _ACEOF
;;
esac

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for printf format archetype" >&5
$as_echo_n "checking for printf format archetype... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C printf format archetype" >&5
$as_echo_n "checking for C printf format archetype... " >&6; }
if ${pgac_cv_printf_archetype+:} false; then :
$as_echo_n "(cached) " >&6
else
Expand Down Expand Up @@ -15206,7 +15206,97 @@ fi
$as_echo "$pgac_cv_printf_archetype" >&6; }

cat >>confdefs.h <<_ACEOF
#define PG_PRINTF_ATTRIBUTE $pgac_cv_printf_archetype
#define PG_C_PRINTF_ATTRIBUTE $pgac_cv_printf_archetype
_ACEOF



{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ printf format archetype" >&5
$as_echo_n "checking for C++ printf format archetype... " >&6; }
if ${pgac_cv_cxx_printf_archetype+:} false; then :
$as_echo_n "(cached) " >&6
else
pgac_cv_cxx_printf_archetype=gnu_printf
ac_save_cxx_werror_flag=$ac_cxx_werror_flag
ac_cxx_werror_flag=yes
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu

cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern void pgac_write(int ignore, const char *fmt,...)
__attribute__((format($pgac_cv_cxx_printf_archetype, 2, 3)));
int
main ()
{
pgac_write(0, "error %s: %m", "foo");
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
ac_archetype_ok=yes
else
ac_archetype_ok=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu

ac_cxx_werror_flag=$ac_save_cxx_werror_flag

if [ "$ac_archetype_ok" = no ]; then
pgac_cv_cxx_printf_archetype=__syslog__
ac_save_cxx_werror_flag=$ac_cxx_werror_flag
ac_cxx_werror_flag=yes
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu

cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern void pgac_write(int ignore, const char *fmt,...)
__attribute__((format($pgac_cv_cxx_printf_archetype, 2, 3)));
int
main ()
{
pgac_write(0, "error %s: %m", "foo");
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
ac_archetype_ok=yes
else
ac_archetype_ok=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu

ac_cxx_werror_flag=$ac_save_cxx_werror_flag

if [ "$ac_archetype_ok" = no ]; then
pgac_cv_cxx_printf_archetype=printf
fi
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_cxx_printf_archetype" >&5
$as_echo "$pgac_cv_cxx_printf_archetype" >&6; }

cat >>confdefs.h <<_ACEOF
#define PG_CXX_PRINTF_ATTRIBUTE $pgac_cv_cxx_printf_archetype
_ACEOF


Expand Down Expand Up @@ -16884,6 +16974,16 @@ fi
cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_STRNLEN $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "timingsafe_bcmp" "ac_cv_have_decl_timingsafe_bcmp" "$ac_includes_default"
if test "x$ac_cv_have_decl_timingsafe_bcmp" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
fi

cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_TIMINGSAFE_BCMP $ac_have_decl
_ACEOF


# We can't use AC_REPLACE_FUNCS to replace these functions, because it
Expand Down Expand Up @@ -17236,6 +17336,19 @@ esac

fi

ac_fn_c_check_func "$LINENO" "timingsafe_bcmp" "ac_cv_func_timingsafe_bcmp"
if test "x$ac_cv_func_timingsafe_bcmp" = xyes; then :
$as_echo "#define HAVE_TIMINGSAFE_BCMP 1" >>confdefs.h

else
case " $LIBOBJS " in
*" timingsafe_bcmp.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS timingsafe_bcmp.$ac_objext"
;;
esac

fi



if test "$enable_thread_safety" = yes; then
Expand Down Expand Up @@ -20932,7 +21045,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by PostgreSQL $as_me 15.17, which was
This file was extended by PostgreSQL $as_me 15.18, which was
generated by GNU Autoconf 2.69. Invocation command line was

CONFIG_FILES = $CONFIG_FILES
Expand Down Expand Up @@ -21003,7 +21116,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
PostgreSQL config.status 15.17
PostgreSQL config.status 15.18
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

Expand Down
6 changes: 4 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ dnl Read the Autoconf manual for details.
dnl
m4_pattern_forbid(^PGAC_)dnl to catch undefined macros

AC_INIT([PostgreSQL], [15.17], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
AC_INIT([PostgreSQL], [15.18], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])

m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
Untested combinations of 'autoconf' and PostgreSQL versions are not
Expand Down Expand Up @@ -1681,6 +1681,7 @@ m4_defun([AC_PROG_CC_STDC], []) dnl We don't want that.
AC_C_BIGENDIAN
AC_C_INLINE
PGAC_PRINTF_ARCHETYPE
PGAC_CXX_PRINTF_ARCHETYPE
PGAC_C_FUNCNAME_SUPPORT
PGAC_C_STATIC_ASSERT
PGAC_C_TYPEOF
Expand Down Expand Up @@ -1916,7 +1917,7 @@ AC_CHECK_DECLS(posix_fadvise, [], [], [#include <fcntl.h>])
]) # fi

AC_CHECK_DECLS(fdatasync, [], [], [#include <unistd.h>])
AC_CHECK_DECLS([strlcat, strlcpy, strnlen])
AC_CHECK_DECLS([strlcat, strlcpy, strnlen, timingsafe_bcmp])

# We can't use AC_REPLACE_FUNCS to replace these functions, because it
# won't handle deployment target restrictions on macOS
Expand Down Expand Up @@ -1966,6 +1967,7 @@ AC_REPLACE_FUNCS(m4_normalize([
strlcpy
strnlen
strtof
timingsafe_bcmp
]))

if test "$enable_thread_safety" = yes; then
Expand Down
15 changes: 1 addition & 14 deletions contrib/basic_archive/basic_archive.c
Original file line number Diff line number Diff line change
Expand Up @@ -93,13 +93,11 @@ _PG_archive_module_init(ArchiveModuleCallbacks *cb)
/*
* check_archive_directory
*
* Checks that the provided archive directory exists.
* Checks that the provided archive directory path isn't too long.
*/
static bool
check_archive_directory(char **newval, void **extra, GucSource source)
{
struct stat st;

/*
* The default value is an empty string, so we have to accept that value.
* Our check_configured callback also checks for this and prevents
Expand All @@ -118,17 +116,6 @@ check_archive_directory(char **newval, void **extra, GucSource source)
return false;
}

/*
* Do a basic sanity check that the specified archive directory exists. It
* could be removed at some point in the future, so we still need to be
* prepared for it not to exist in the actual archiving logic.
*/
if (stat(*newval, &st) != 0 || !S_ISDIR(st.st_mode))
{
GUC_check_errdetail("Specified archive directory does not exist.");
return false;
}

return true;
}

Expand Down
2 changes: 1 addition & 1 deletion contrib/hstore_plperl/hstore_plperl.c
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ plperl_to_hstore(PG_FUNCTION_ARGS)

pcount = hv_iterinit(hv);

pairs = palloc(pcount * sizeof(Pairs));
pairs = palloc_array(Pairs, pcount);

i = 0;
while ((he = hv_iternext(hv)))
Expand Down
2 changes: 1 addition & 1 deletion contrib/hstore_plpython/hstore_plpython.c
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ plpython_to_hstore(PG_FUNCTION_ARGS)
Py_ssize_t i;
Pairs *pairs;

pairs = palloc(pcount * sizeof(*pairs));
pairs = palloc_array(Pairs, pcount);

for (i = 0; i < pcount; i++)
{
Expand Down
Loading
Loading