Files
302248aa22 Code coverage for most pg_mblen* calls.
A security patch changed them today, so close the coverage gap now.
Test that buffer overrun is avoided when pg_mblen*() requires more
than the number of bytes remaining.

This does not cover the calls in dict_thesaurus.c or in dict_synonym.c.
That code is straightforward.  To change that code's input, one must
have access to modify installed OS files, so low-privilege users are not
a threat.  Testing this would likewise require changing installed
share/postgresql/tsearch_data, which was enough of an obstacle to not
bother.

Security: CVE-2026-2006
Backpatch-through: 14
Co-authored-by: Thomas Munro <[email protected]>
Co-authored-by: Noah Misch <[email protected]>
Reviewed-by: Heikki Linnakangas <[email protected]>
2026-02-09 12:44:12 +13:00

48 lines
959 B
Meson

# Copyright (c) 2022-2026, PostgreSQL Global Development Group
pg_trgm_sources = files(
'trgm_gin.c',
'trgm_gist.c',
'trgm_op.c',
'trgm_regexp.c',
)
if host_system == 'windows'
pg_trgm_sources += rc_lib_gen.process(win32ver_rc, extra_args: [
'--NAME', 'pg_trgm',
'--FILEDESC', 'pg_trgm - trigram matching',])
endif
pg_trgm = shared_module('pg_trgm',
pg_trgm_sources,
c_pch: pch_postgres_h,
kwargs: contrib_mod_args,
)
contrib_targets += pg_trgm
install_data(
'pg_trgm--1.0--1.1.sql',
'pg_trgm--1.1--1.2.sql',
'pg_trgm--1.2--1.3.sql',
'pg_trgm--1.3--1.4.sql',
'pg_trgm--1.3.sql',
'pg_trgm--1.4--1.5.sql',
'pg_trgm--1.5--1.6.sql',
'pg_trgm.control',
kwargs: contrib_data_args,
)
tests += {
'name': 'pg_trgm',
'sd': meson.current_source_dir(),
'bd': meson.current_build_dir(),
'regress': {
'sql': [
'pg_trgm',
'pg_utf8_trgm',
'pg_word_trgm',
'pg_strict_word_trgm',
],
},
}