pg.ddx.io pgsql-hackers@postgresql.org mailing list archive
help / color / mirror / Atom feedUBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src)
5+ messages / 2 participants
[nested] [flat]
* UBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src)
@ 2026-03-03 17:33 Florin Irion <irionr@gmail.com>
2026-03-03 19:48 ` Re: UBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src) Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 1 reply; 5+ messages in thread
From: Florin Irion @ 2026-03-03 17:33 UTC (permalink / raw)
To: pgsql-hackers@lists.postgresql.org; +Cc: Álvaro Herrera <alvherre@kurilemu.de>
Hi,
While working on the pg_get_domain_ddl() patch [1], I installed an
event trigger on ddl_command_end in test_setup.sql to automatically
round-trip DDL. This triggered a UBSAN crash on CI [2] that turns out
to be a pre-existing bug since b488c580aef(?).
The DROP MAPPING code path in tsearchcmds.c unconditionally calls:
```
EventTriggerCollectAlterTSConfig(stmt, cfgId, NULL, 0);
```
Inside EventTriggerCollectAlterTSConfig(), this reaches:
```
command->d.atscfg.dictIds = palloc_array(Oid, ndicts); /* ndicts=0 */
memcpy(command->d.atscfg.dictIds, dictIds, sizeof(Oid) * ndicts);
^^^^^^^ NULL
```
Under -fsanitize=undefined this triggers SIGABRT and crashes the server.
The bug has been latent for 11 years because without an active event
trigger, currentEventTriggerState is NULL and the function returns early
at the top, never reaching the memcpy. The standard regression suite
never had an event trigger installed during the tsdicts test — until now.
Reproducer (crashes only under UBSAN) and patch attached:
This affects all branches back to 9.5 where b488c580aef landed.
[1] https://www.postgresql.org/message-id/CAPgqM1V4LW2qiDLPsusb7s0kYbSDJjH5Tt%2B-ZzVmPU7xV0TJNQ%40mail.g...
[2] https://cirrus-ci.com/task/6170470552174592
--
Cheers,
Florin
EDB -- www.enterprisedb.com
From bc38f7016c868ff1be68214b4a134773cda214cb Mon Sep 17 00:00:00 2001
From: Florin Irion <florin.irion@enterprisedb.com>
Date: Tue, 3 Mar 2026 17:41:23 +0100
Subject: [PATCH v1 1/2] Add regression test for
EventTriggerCollectAlterTSConfig with NULL dictIds
The DROP MAPPING code path in tsearchcmds.c calls
EventTriggerCollectAlterTSConfig(stmt, cfgId, NULL, 0). When an event
trigger on ddl_command_end is active, this reaches memcpy(dest, NULL, 0)
which is undefined behavior. Under -fsanitize=undefined this crashes
the server.
Add a test that exercises this exact code path: a ddl_command_end event
trigger combined with ALTER TEXT SEARCH CONFIGURATION ... DROP MAPPING.
Bug latent since b488c580aef (2015).
---
src/test/regress/expected/event_trigger.out | 15 +++++++++++++++
src/test/regress/sql/event_trigger.sql | 18 ++++++++++++++++++
2 files changed, 33 insertions(+)
diff --git a/src/test/regress/expected/event_trigger.out b/src/test/regress/expected/event_trigger.out
index 16e4530708c..1f37f4c3d5a 100644
--- a/src/test/regress/expected/event_trigger.out
+++ b/src/test/regress/expected/event_trigger.out
@@ -817,3 +817,18 @@ NOTICE: DROP POLICY dropped policy
CREATE POLICY pguc ON event_trigger_test USING (FALSE);
SET event_triggers = 'off';
DROP POLICY pguc ON event_trigger_test;
+-- Test that EventTriggerCollectAlterTSConfig handles DROP MAPPING
+-- with ndicts=0, dictIds=NULL (the DROP MAPPING code path always
+-- passes NULL,0). Previously crashed under UBSAN due to
+-- memcpy(dest, NULL, 0) being undefined behavior.
+CREATE FUNCTION noop_event_trigger() RETURNS event_trigger
+LANGUAGE plpgsql AS $$ BEGIN END; $$;
+CREATE EVENT TRIGGER noop_event_trigger ON ddl_command_end
+ EXECUTE FUNCTION noop_event_trigger();
+SET event_triggers = 'on';
+CREATE TEXT SEARCH CONFIGURATION evttrig_tscfg (COPY = pg_catalog.simple);
+ALTER TEXT SEARCH CONFIGURATION evttrig_tscfg
+ DROP MAPPING FOR word;
+DROP TEXT SEARCH CONFIGURATION evttrig_tscfg;
+DROP EVENT TRIGGER noop_event_trigger;
+DROP FUNCTION noop_event_trigger;
diff --git a/src/test/regress/sql/event_trigger.sql b/src/test/regress/sql/event_trigger.sql
index c613c0cfd43..d955b3d0abe 100644
--- a/src/test/regress/sql/event_trigger.sql
+++ b/src/test/regress/sql/event_trigger.sql
@@ -638,3 +638,21 @@ DROP POLICY pguc ON event_trigger_test;
CREATE POLICY pguc ON event_trigger_test USING (FALSE);
SET event_triggers = 'off';
DROP POLICY pguc ON event_trigger_test;
+
+-- Test that EventTriggerCollectAlterTSConfig handles DROP MAPPING
+-- with ndicts=0, dictIds=NULL (the DROP MAPPING code path always
+-- passes NULL,0). Previously crashed under UBSAN due to
+-- memcpy(dest, NULL, 0) being undefined behavior.
+CREATE FUNCTION noop_event_trigger() RETURNS event_trigger
+LANGUAGE plpgsql AS $$ BEGIN END; $$;
+CREATE EVENT TRIGGER noop_event_trigger ON ddl_command_end
+ EXECUTE FUNCTION noop_event_trigger();
+SET event_triggers = 'on';
+
+CREATE TEXT SEARCH CONFIGURATION evttrig_tscfg (COPY = pg_catalog.simple);
+ALTER TEXT SEARCH CONFIGURATION evttrig_tscfg
+ DROP MAPPING FOR word;
+
+DROP TEXT SEARCH CONFIGURATION evttrig_tscfg;
+DROP EVENT TRIGGER noop_event_trigger;
+DROP FUNCTION noop_event_trigger;
--
2.45.1
From 04344b57c717271a372d1e6335309e0fe53458b6 Mon Sep 17 00:00:00 2001
From: Florin Irion <florin.irion@enterprisedb.com>
Date: Tue, 3 Mar 2026 17:44:18 +0100
Subject: [PATCH v1 2/2] Fix UBSAN crash in EventTriggerCollectAlterTSConfig
Guard the palloc_array + memcpy with an ndicts > 0 check. The command
struct is already palloc0'd so dictIds defaults to NULL.
---
src/backend/commands/event_trigger.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/backend/commands/event_trigger.c b/src/backend/commands/event_trigger.c
index 028f9e2de90..2898967fa67 100644
--- a/src/backend/commands/event_trigger.c
+++ b/src/backend/commands/event_trigger.c
@@ -2004,8 +2004,11 @@ EventTriggerCollectAlterTSConfig(AlterTSConfigurationStmt *stmt, Oid cfgId,
command->in_extension = creating_extension;
ObjectAddressSet(command->d.atscfg.address,
TSConfigRelationId, cfgId);
- command->d.atscfg.dictIds = palloc_array(Oid, ndicts);
- memcpy(command->d.atscfg.dictIds, dictIds, sizeof(Oid) * ndicts);
+ if (ndicts > 0)
+ {
+ command->d.atscfg.dictIds = palloc_array(Oid, ndicts);
+ memcpy(command->d.atscfg.dictIds, dictIds, sizeof(Oid) * ndicts);
+ }
command->d.atscfg.ndicts = ndicts;
command->parsetree = (Node *) copyObject(stmt);
--
2.45.1
Attachments:
[text/plain] v1-0001-Add-regression-test-for-EventTriggerCollectAlterT.patch (3.2K, ../../c6fff161-9aee-4290-9ada-71e21e4d84de@gmail.com/2-v1-0001-Add-regression-test-for-EventTriggerCollectAlterT.patch)
download | inline diff:
From bc38f7016c868ff1be68214b4a134773cda214cb Mon Sep 17 00:00:00 2001
From: Florin Irion <florin.irion@enterprisedb.com>
Date: Tue, 3 Mar 2026 17:41:23 +0100
Subject: [PATCH v1 1/2] Add regression test for
EventTriggerCollectAlterTSConfig with NULL dictIds
The DROP MAPPING code path in tsearchcmds.c calls
EventTriggerCollectAlterTSConfig(stmt, cfgId, NULL, 0). When an event
trigger on ddl_command_end is active, this reaches memcpy(dest, NULL, 0)
which is undefined behavior. Under -fsanitize=undefined this crashes
the server.
Add a test that exercises this exact code path: a ddl_command_end event
trigger combined with ALTER TEXT SEARCH CONFIGURATION ... DROP MAPPING.
Bug latent since b488c580aef (2015).
---
src/test/regress/expected/event_trigger.out | 15 +++++++++++++++
src/test/regress/sql/event_trigger.sql | 18 ++++++++++++++++++
2 files changed, 33 insertions(+)
diff --git a/src/test/regress/expected/event_trigger.out b/src/test/regress/expected/event_trigger.out
index 16e4530708c..1f37f4c3d5a 100644
--- a/src/test/regress/expected/event_trigger.out
+++ b/src/test/regress/expected/event_trigger.out
@@ -817,3 +817,18 @@ NOTICE: DROP POLICY dropped policy
CREATE POLICY pguc ON event_trigger_test USING (FALSE);
SET event_triggers = 'off';
DROP POLICY pguc ON event_trigger_test;
+-- Test that EventTriggerCollectAlterTSConfig handles DROP MAPPING
+-- with ndicts=0, dictIds=NULL (the DROP MAPPING code path always
+-- passes NULL,0). Previously crashed under UBSAN due to
+-- memcpy(dest, NULL, 0) being undefined behavior.
+CREATE FUNCTION noop_event_trigger() RETURNS event_trigger
+LANGUAGE plpgsql AS $$ BEGIN END; $$;
+CREATE EVENT TRIGGER noop_event_trigger ON ddl_command_end
+ EXECUTE FUNCTION noop_event_trigger();
+SET event_triggers = 'on';
+CREATE TEXT SEARCH CONFIGURATION evttrig_tscfg (COPY = pg_catalog.simple);
+ALTER TEXT SEARCH CONFIGURATION evttrig_tscfg
+ DROP MAPPING FOR word;
+DROP TEXT SEARCH CONFIGURATION evttrig_tscfg;
+DROP EVENT TRIGGER noop_event_trigger;
+DROP FUNCTION noop_event_trigger;
diff --git a/src/test/regress/sql/event_trigger.sql b/src/test/regress/sql/event_trigger.sql
index c613c0cfd43..d955b3d0abe 100644
--- a/src/test/regress/sql/event_trigger.sql
+++ b/src/test/regress/sql/event_trigger.sql
@@ -638,3 +638,21 @@ DROP POLICY pguc ON event_trigger_test;
CREATE POLICY pguc ON event_trigger_test USING (FALSE);
SET event_triggers = 'off';
DROP POLICY pguc ON event_trigger_test;
+
+-- Test that EventTriggerCollectAlterTSConfig handles DROP MAPPING
+-- with ndicts=0, dictIds=NULL (the DROP MAPPING code path always
+-- passes NULL,0). Previously crashed under UBSAN due to
+-- memcpy(dest, NULL, 0) being undefined behavior.
+CREATE FUNCTION noop_event_trigger() RETURNS event_trigger
+LANGUAGE plpgsql AS $$ BEGIN END; $$;
+CREATE EVENT TRIGGER noop_event_trigger ON ddl_command_end
+ EXECUTE FUNCTION noop_event_trigger();
+SET event_triggers = 'on';
+
+CREATE TEXT SEARCH CONFIGURATION evttrig_tscfg (COPY = pg_catalog.simple);
+ALTER TEXT SEARCH CONFIGURATION evttrig_tscfg
+ DROP MAPPING FOR word;
+
+DROP TEXT SEARCH CONFIGURATION evttrig_tscfg;
+DROP EVENT TRIGGER noop_event_trigger;
+DROP FUNCTION noop_event_trigger;
--
2.45.1
[text/plain] v1-0002-Fix-UBSAN-crash-in-EventTriggerCollectAlterTSConf.patch (1.3K, ../../c6fff161-9aee-4290-9ada-71e21e4d84de@gmail.com/3-v1-0002-Fix-UBSAN-crash-in-EventTriggerCollectAlterTSConf.patch)
download | inline diff:
From 04344b57c717271a372d1e6335309e0fe53458b6 Mon Sep 17 00:00:00 2001
From: Florin Irion <florin.irion@enterprisedb.com>
Date: Tue, 3 Mar 2026 17:44:18 +0100
Subject: [PATCH v1 2/2] Fix UBSAN crash in EventTriggerCollectAlterTSConfig
Guard the palloc_array + memcpy with an ndicts > 0 check. The command
struct is already palloc0'd so dictIds defaults to NULL.
---
src/backend/commands/event_trigger.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/backend/commands/event_trigger.c b/src/backend/commands/event_trigger.c
index 028f9e2de90..2898967fa67 100644
--- a/src/backend/commands/event_trigger.c
+++ b/src/backend/commands/event_trigger.c
@@ -2004,8 +2004,11 @@ EventTriggerCollectAlterTSConfig(AlterTSConfigurationStmt *stmt, Oid cfgId,
command->in_extension = creating_extension;
ObjectAddressSet(command->d.atscfg.address,
TSConfigRelationId, cfgId);
- command->d.atscfg.dictIds = palloc_array(Oid, ndicts);
- memcpy(command->d.atscfg.dictIds, dictIds, sizeof(Oid) * ndicts);
+ if (ndicts > 0)
+ {
+ command->d.atscfg.dictIds = palloc_array(Oid, ndicts);
+ memcpy(command->d.atscfg.dictIds, dictIds, sizeof(Oid) * ndicts);
+ }
command->d.atscfg.ndicts = ndicts;
command->parsetree = (Node *) copyObject(stmt);
--
2.45.1
^ permalink raw reply [nested|flat] 5+ messages in thread
* Re: UBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src)
2026-03-03 17:33 UBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src) Florin Irion <irionr@gmail.com>
@ 2026-03-03 19:48 ` Álvaro Herrera <alvherre@kurilemu.de>
2026-03-03 21:04 ` Re: UBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src) Florin Irion <irionr@gmail.com>
0 siblings, 1 reply; 5+ messages in thread
From: Álvaro Herrera @ 2026-03-03 19:48 UTC (permalink / raw)
To: Florin Irion <irionr@gmail.com>; +Cc: pgsql-hackers@lists.postgresql.org
On 2026-Mar-03, Florin Irion wrote:
> While working on the pg_get_domain_ddl() patch [1], I installed an
> event trigger on ddl_command_end in test_setup.sql to automatically
> round-trip DDL. This triggered a UBSAN crash on CI [2] that turns out
> to be a pre-existing bug since b488c580aef(?).
Cool, yeah, this is broken. I propose to add the corresponding test in
src/test/modules/test_ddl_deparse though -- that way we don't need
another event trigger. So how about like this?
--
Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/
"No es bueno caminar con un hombre muerto"
Attachments:
[text/x-diff] v2-0001-Don-t-malloc-0-in-EventTriggerCollectAlterTSConfi.patch (3.5K, ../../202603031947.a5rjz7rgasas@alvherre.pgsql/2-v2-0001-Don-t-malloc-0-in-EventTriggerCollectAlterTSConfi.patch)
download | inline diff:
From 1714da6771ccc35053b0d69d606cd0e707858579 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=81lvaro=20Herrera?= <alvherre@kurilemu.de>
Date: Tue, 3 Mar 2026 20:46:36 +0100
Subject: [PATCH v2] Don't malloc(0) in EventTriggerCollectAlterTSConfig
Author: Florin Irion <florin.irion@enterprisedb.com>
Discussion: https://postgr.es/m/c6fff161-9aee-4290-9ada-71e21e4d84de@gmail.com
---
src/backend/commands/event_trigger.c | 7 +++++--
src/test/modules/test_ddl_deparse/Makefile | 1 +
src/test/modules/test_ddl_deparse/expected/textsearch.out | 5 +++++
src/test/modules/test_ddl_deparse/meson.build | 1 +
src/test/modules/test_ddl_deparse/sql/textsearch.sql | 3 +++
5 files changed, 15 insertions(+), 2 deletions(-)
create mode 100644 src/test/modules/test_ddl_deparse/expected/textsearch.out
create mode 100644 src/test/modules/test_ddl_deparse/sql/textsearch.sql
diff --git a/src/backend/commands/event_trigger.c b/src/backend/commands/event_trigger.c
index 028f9e2de90..2898967fa67 100644
--- a/src/backend/commands/event_trigger.c
+++ b/src/backend/commands/event_trigger.c
@@ -2004,8 +2004,11 @@ EventTriggerCollectAlterTSConfig(AlterTSConfigurationStmt *stmt, Oid cfgId,
command->in_extension = creating_extension;
ObjectAddressSet(command->d.atscfg.address,
TSConfigRelationId, cfgId);
- command->d.atscfg.dictIds = palloc_array(Oid, ndicts);
- memcpy(command->d.atscfg.dictIds, dictIds, sizeof(Oid) * ndicts);
+ if (ndicts > 0)
+ {
+ command->d.atscfg.dictIds = palloc_array(Oid, ndicts);
+ memcpy(command->d.atscfg.dictIds, dictIds, sizeof(Oid) * ndicts);
+ }
command->d.atscfg.ndicts = ndicts;
command->parsetree = (Node *) copyObject(stmt);
diff --git a/src/test/modules/test_ddl_deparse/Makefile b/src/test/modules/test_ddl_deparse/Makefile
index 6a9c133ebe9..f91a78d8d92 100644
--- a/src/test/modules/test_ddl_deparse/Makefile
+++ b/src/test/modules/test_ddl_deparse/Makefile
@@ -27,6 +27,7 @@ REGRESS = test_ddl_deparse \
alter_type_enum \
opfamily \
defprivs \
+ textsearch \
matviews
EXTRA_INSTALL = contrib/pg_stat_statements
diff --git a/src/test/modules/test_ddl_deparse/expected/textsearch.out b/src/test/modules/test_ddl_deparse/expected/textsearch.out
new file mode 100644
index 00000000000..da0d89e9704
--- /dev/null
+++ b/src/test/modules/test_ddl_deparse/expected/textsearch.out
@@ -0,0 +1,5 @@
+CREATE TEXT SEARCH CONFIGURATION evttrig_tscfg (COPY = pg_catalog.simple);
+NOTICE: DDL test: type simple, tag CREATE TEXT SEARCH CONFIGURATION
+ALTER TEXT SEARCH CONFIGURATION evttrig_tscfg
+ DROP MAPPING FOR word;
+NOTICE: DDL test: type alter text search configuration, tag ALTER TEXT SEARCH CONFIGURATION
diff --git a/src/test/modules/test_ddl_deparse/meson.build b/src/test/modules/test_ddl_deparse/meson.build
index 126d8123949..85decdf1f2b 100644
--- a/src/test/modules/test_ddl_deparse/meson.build
+++ b/src/test/modules/test_ddl_deparse/meson.build
@@ -47,6 +47,7 @@ tests += {
'alter_type_enum',
'opfamily',
'defprivs',
+ 'textsearch',
'matviews',
],
},
diff --git a/src/test/modules/test_ddl_deparse/sql/textsearch.sql b/src/test/modules/test_ddl_deparse/sql/textsearch.sql
new file mode 100644
index 00000000000..633899a31cb
--- /dev/null
+++ b/src/test/modules/test_ddl_deparse/sql/textsearch.sql
@@ -0,0 +1,3 @@
+CREATE TEXT SEARCH CONFIGURATION evttrig_tscfg (COPY = pg_catalog.simple);
+ALTER TEXT SEARCH CONFIGURATION evttrig_tscfg
+ DROP MAPPING FOR word;
--
2.47.3
^ permalink raw reply [nested|flat] 5+ messages in thread
* Re: UBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src)
2026-03-03 17:33 UBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src) Florin Irion <irionr@gmail.com>
2026-03-03 19:48 ` Re: UBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src) Álvaro Herrera <alvherre@kurilemu.de>
@ 2026-03-03 21:04 ` Florin Irion <irionr@gmail.com>
2026-03-04 14:10 ` Re: UBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src) Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 1 reply; 5+ messages in thread
From: Florin Irion @ 2026-03-03 21:04 UTC (permalink / raw)
To: Álvaro Herrera <alvherre@kurilemu.de>; +Cc: pgsql-hackers@lists.postgresql.org
On 03/03/26 20:48, Álvaro Herrera wrote:
> Cool, yeah, this is broken. I propose to add the corresponding test in
> src/test/modules/test_ddl_deparse though -- that way we don't need
> another event trigger. So how about like this?
LGTM, I had to look up the CREATE TEXT SEARCH CONFIGURATION
first time I saw it.
Cheers,
Florin
--
EDB -- www.enterprisedb.com
^ permalink raw reply [nested|flat] 5+ messages in thread
* Re: UBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src)
2026-03-03 17:33 UBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src) Florin Irion <irionr@gmail.com>
2026-03-03 19:48 ` Re: UBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src) Álvaro Herrera <alvherre@kurilemu.de>
2026-03-03 21:04 ` Re: UBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src) Florin Irion <irionr@gmail.com>
@ 2026-03-04 14:10 ` Álvaro Herrera <alvherre@kurilemu.de>
2026-03-04 14:16 ` Re: UBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src) Florin Irion <irionr@gmail.com>
0 siblings, 1 reply; 5+ messages in thread
From: Álvaro Herrera @ 2026-03-04 14:10 UTC (permalink / raw)
To: Florin Irion <irionr@gmail.com>; +Cc: pgsql-hackers@lists.postgresql.org
On 2026-Mar-03, Florin Irion wrote:
> On 03/03/26 20:48, Álvaro Herrera wrote:
>
> > Cool, yeah, this is broken. I propose to add the corresponding test in
> > src/test/modules/test_ddl_deparse though -- that way we don't need
> > another event trigger. So how about like this?
>
> LGTM, I had to look up the CREATE TEXT SEARCH CONFIGURATION
> first time I saw it.
Okay, thanks, pushed to all branches.
--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/
"But static content is just dynamic content that isn't moving!"
http://smylers.hates-software.com/2007/08/15/fe244d0c.html
^ permalink raw reply [nested|flat] 5+ messages in thread
* Re: UBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src)
2026-03-03 17:33 UBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src) Florin Irion <irionr@gmail.com>
2026-03-03 19:48 ` Re: UBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src) Álvaro Herrera <alvherre@kurilemu.de>
2026-03-03 21:04 ` Re: UBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src) Florin Irion <irionr@gmail.com>
2026-03-04 14:10 ` Re: UBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src) Álvaro Herrera <alvherre@kurilemu.de>
@ 2026-03-04 14:16 ` Florin Irion <irionr@gmail.com>
0 siblings, 0 replies; 5+ messages in thread
From: Florin Irion @ 2026-03-04 14:16 UTC (permalink / raw)
To: Álvaro Herrera <alvherre@kurilemu.de>; +Cc: pgsql-hackers@lists.postgresql.org
Thank you!
Il giorno mer 4 mar 2026 alle ore 15:10 Álvaro Herrera <alvherre@kurilemu.de>
ha scritto:
> On 2026-Mar-03, Florin Irion wrote:
>
> > On 03/03/26 20:48, Álvaro Herrera wrote:
> >
> > > Cool, yeah, this is broken. I propose to add the corresponding test in
> > > src/test/modules/test_ddl_deparse though -- that way we don't need
> > > another event trigger. So how about like this?
> >
> > LGTM, I had to look up the CREATE TEXT SEARCH CONFIGURATION
> > first time I saw it.
>
> Okay, thanks, pushed to all branches.
>
> --
> Álvaro Herrera PostgreSQL Developer —
> https://www.EnterpriseDB.com/
> "But static content is just dynamic content that isn't moving!"
> http://smylers.hates-software.com/2007/08/15/fe244d0c.html
>
--
* Florin Irion *
* https://www.enterprisedb.com <https://www.enterprisedb.com/>*
^ permalink raw reply [nested|flat] 5+ messages in thread
end of thread, other threads:[~2026-03-04 14:16 UTC | newest]
Thread overview: 5+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2026-03-03 17:33 UBSAN crash in EventTriggerCollectAlterTSConfig (memcpy with NULL src) Florin Irion <irionr@gmail.com>
2026-03-03 19:48 ` Álvaro Herrera <alvherre@kurilemu.de>
2026-03-03 21:04 ` Florin Irion <irionr@gmail.com>
2026-03-04 14:10 ` Álvaro Herrera <alvherre@kurilemu.de>
2026-03-04 14:16 ` Florin Irion <irionr@gmail.com>
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox