From: Bruce Momjian Date: Thu, 25 Jan 2007 04:17:56 +0000 (+0000) Subject: Properly detoast access to bytea field pg_trigger.tgargs. Old code X-Git-Url: http://waps.l3s.uni-hannover.de/gitweb/?a=commitdiff_plain;h=8d793683d8f716190c9d90771ce06e5cf98588ad;p=users%2Fbernd%2Fpostgres.git Properly detoast access to bytea field pg_trigger.tgargs. Old code might cause server crash. Backpatch to 8.2.X. --- diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 2b09094d27..cc6d155e00 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -1790,8 +1790,7 @@ update_ri_trigger_args(Oid relid, * line; so does trigger.c ... */ tgnargs = pg_trigger->tgnargs; - val = (bytea *) - DatumGetPointer(fastgetattr(tuple, + val = DatumGetByteaP(fastgetattr(tuple, Anum_pg_trigger_tgargs, tgrel->rd_att, &isnull)); if (isnull || tgnargs < RI_FIRST_ATTNAME_ARGNO || diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c index accc5750e4..21570fb885 100644 --- a/src/backend/commands/trigger.c +++ b/src/backend/commands/trigger.c @@ -906,8 +906,7 @@ RelationBuildTriggers(Relation relation) char *p; int i; - val = (bytea *) - DatumGetPointer(fastgetattr(htup, + val = DatumGetByteaP(fastgetattr(htup, Anum_pg_trigger_tgargs, tgrel->rd_att, &isnull)); if (isnull) diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index b31e5f8db2..b714d111b1 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -519,8 +519,7 @@ pg_get_triggerdef(PG_FUNCTION_ARGS) char *p; int i; - val = (bytea *) - DatumGetPointer(fastgetattr(ht_trig, + val = DatumGetByteaP(fastgetattr(ht_trig, Anum_pg_trigger_tgargs, tgrel->rd_att, &isnull)); if (isnull)