The following bug has been logged on the website:
Bug reference: 18701
Logged by: Stanislav Osipov
Email address: stasos24@gmail.com
PostgreSQL version: 17.0
Operating system: Ubuntu 22
Description:
ASAN Report:
```
su postgres -c '/postgres/src/backend/postgres -D /tmp/data -c
"config_file=/tmp/2.conf"'
2024-11-12 09:19:18.631 GMT [12812] LOG: skipping missing configuration
file "/tmp/..."
2024-11-12 09:19:18.632 GMT [12812] LOG: skipping missing configuration
file "/tmp/..."
=================================================================
==12812==ERROR: AddressSanitizer: global-buffer-overflow on address
0x5616196d85c0 at pc 0x561616a5dff6 bp 0x7ffff7563840 sp 0x7ffff7563008
READ of size 129 at 0x5616196d85c0 thread T0
#0 0x561616a5dff5 in strlen (/post2/src/backend/postgres+0x49dff5)
(BuildId: 5c4481a76e8e9a356f3acdae2b5b6360b5bb8fa4)
#1 0x561618575098 in appendStringInfoString
/post2/src/common/stringinfo.c:184:33
#2 0x56161841abe1 in log_status_format
/post2/src/backend/utils/error/elog.c:2997:6
#3 0x56161841d483 in log_line_prefix
/post2/src/backend/utils/error/elog.c:2806:2
#4 0x561618412686 in send_message_to_server_log
/post2/src/backend/utils/error/elog.c:3193:2
#5 0x56161840c06c in EmitErrorReport
/post2/src/backend/utils/error/elog.c:1728:3
#6 0x56161840ae7a in errfinish
/post2/src/backend/utils/error/elog.c:546:2
#7 0x561617adbe19 in PostmasterMain
/post2/src/backend/postmaster/postmaster.c:1080:2
#8 0x561617642421 in main /post2/src/backend/main/main.c:197:3
#9 0x7f72e2871d8f in __libc_start_call_main
csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#10 0x7f72e2871e3f in __libc_start_main csu/../csu/libc-start.c:392:3
#11 0x561616a47eb4 in _start (/post2/src/backend/postgres+0x487eb4)
(BuildId: 5c4481a76e8e9a356f3acdae2b5b6360b5bb8fa4)
0x5616196d85c0 is located 32 bytes to the left of global variable
'backtrace_function_list' defined in 'elog.c:118:14' (0x5616196d85e0) of
size 8
0x5616196d85c0 is located 0 bytes to the right of global variable
'formatted_log_time' defined in 'elog.c:164:13' (0x5616196d8540) of size 128
SUMMARY: AddressSanitizer: global-buffer-overflow
(/post2/src/backend/postgres+0x49dff5) (BuildId:
5c4481a76e8e9a356f3acdae2b5b6360b5bb8fa4) in strlen
Shadow bytes around the buggy address:
0x0ac3432d3060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0ac3432d3070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f9
0x0ac3432d3080: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
0x0ac3432d3090: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 04 f9 f9 f9
0x0ac3432d30a0: 00 f9 f9 f9 01 f9 f9 f9 00 00 00 00 00 00 00 00
=>0x0ac3432d30b0: 00 00 00 00 00 00 00 00[f9]f9 f9 f9 00 f9 f9 f9
0x0ac3432d30c0: 00 f9 f9 f9 01 f9 f9 f9 00 00 f9 f9 00 00 00 00
0x0ac3432d30d0: 00 00 00 00 00 00 00 00 00 00 00 00 f9 f9 f9 f9
0x0ac3432d30e0: 00 f9 f9 f9 04 f9 f9 f9 00 04 f9 f9 00 f9 f9 f9
0x0ac3432d30f0: 00 f9 f9 f9 04 f9 f9 f9 00 f9 f9 f9 00 f9 f9 f9
0x0ac3432d3100: 00 f9 f9 f9 00 f9 f9 f9 00 f9 f9 f9 00 f9 f9 f9
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
```
2.conf:
```
max_connections = 100 # (change requires restart)
shared_buffers = 128MB # min 128kB
dynamic_shared_memory_type = posix # the default is usually the first
option
max_wal_size = 1GB
min_wal_size = 80MB
log_timezone =
'Etiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiic/UTCreserved_connections
= 3'
datestyle = 'iso, mdy'
timezone = 'Etc/UTC'
lc_messages = C # locale for system error message
lc_monetary = C # locale for monetary formatting
lc_numeric = C # locale for number formatting
lc_time = C # locale for time formatting
default_text_search_confiG = 'pg_catalog.english'
include_if_exists = '...' # include file only if it exists
```