git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 2512817)
Properly detoast access to bytea field pg_trigger.tgargs. Old code
2007年1月25日 04:17:46 +0000 (04:17 +0000)
2007年1月25日 04:17:46 +0000 (04:17 +0000)
might cause server crash.

Backpatch to 8.2.X.


diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index 815cb2459bbc24ecfa6da862f3c2425c6b805630..ced08506bceb794432b3aac59e0528cccff23912 100644 (file)
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.210 2007年01月05日 22:19:26 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.211 2007年01月25日 04:17:45 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1800,8 +1800,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 9542e3f1198a9dc390001d800e611a43f9749dbb..cc7dfc895b83d5ddf7e20610724ea4416b91dd68 100644 (file)
--- a/src/backend/commands/trigger.c
+++ b/src/backend/commands/trigger.c
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/commands/trigger.c,v 1.211 2007年01月05日 22:19:26 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/commands/trigger.c,v 1.212 2007年01月25日 04:17:46 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -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 baef0100073a6902edf09caa6b473ae1fd02ec06..5222fd3a6021535e5e63a934afa50693619a869b 100644 (file)
--- a/src/backend/utils/adt/ruleutils.c
+++ b/src/backend/utils/adt/ruleutils.c
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/adt/ruleutils.c,v 1.245 2007年01月20日 23:13:01 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/ruleutils.c,v 1.246 2007年01月25日 04:17:46 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -529,8 +529,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)
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /