summaryrefslogtreecommitdiff
path: root/src/backend/catalog/pg_operator.c
diff options
context:
space:
mode:
authorMarc G. Fournier <scrappy@hub.org>1998-04-01 15:35:33 +0000
committerMarc G. Fournier <scrappy@hub.org>1998-04-01 15:35:33 +0000
commit896a42a5a75b6fdd63f94e31f8ea970440d7b785 (patch)
tree77509fb56398246e5fc6b8ce5ae06449e088ac10 /src/backend/catalog/pg_operator.c
parent0a0bd3d64662b6d116ddad354338b98e52181e4a (diff)
downloadpostgresql-896a42a5a75b6fdd63f94e31f8ea970440d7b785.tar.gz
From: Maurice Gittens <mgittens@david.gits.nl>
After applying the following patch there remain two probable buffer overruns detected by Electric Fence during the regression test. I'll try find out what causes the remain two ones. This patch also corrects a typo in smgr.c.
Diffstat (limited to 'src/backend/catalog/pg_operator.c')
-rw-r--r--src/backend/catalog/pg_operator.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/backend/catalog/pg_operator.c b/src/backend/catalog/pg_operator.c
index fc25127427..1529afabab 100644
--- a/src/backend/catalog/pg_operator.c
+++ b/src/backend/catalog/pg_operator.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/catalog/pg_operator.c,v 1.22 1998/02/26 04:30:41 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/catalog/pg_operator.c,v 1.23 1998/04/01 15:35:04 scrappy Exp $
*
* NOTES
* these routines moved here from commands/define.c and somewhat cleaned up.
@@ -19,6 +19,7 @@
#include <catalog/pg_proc.h>
#include <utils/syscache.h>
#include <utils/tqual.h>
+#include <utils/builtins.h>
#include <access/heapam.h>
#include <catalog/catname.h>
#include <catalog/pg_operator.h>
@@ -229,6 +230,7 @@ OperatorShellMakeWithOpenRelation(Relation pg_operator_desc,
Datum values[Natts_pg_operator];
char nulls[Natts_pg_operator];
Oid operatorObjectId;
+ NameData oname;
TupleDesc tupDesc;
/* ----------------
@@ -246,7 +248,8 @@ OperatorShellMakeWithOpenRelation(Relation pg_operator_desc,
* ----------------
*/
i = 0;
- values[i++] = PointerGetDatum(operatorName);
+ namestrcpy(&oname, operatorName);
+ values[i++] = NameGetDatum(&oname);
values[i++] = Int32GetDatum(GetUserId());
values[i++] = (Datum) (uint16) 0;
@@ -474,6 +477,7 @@ OperatorDef(char *operatorName,
char *name[4];
Oid typeId[8];
int nargs;
+ NameData oname;
TupleDesc tupDesc;
static ScanKeyData opKey[3] = {
@@ -608,7 +612,8 @@ OperatorDef(char *operatorName,
* ----------------
*/
i = 0;
- values[i++] = PointerGetDatum(operatorName);
+ namestrcpy(&oname, operatorName);
+ values[i++] = NameGetDatum(&oname);
values[i++] = Int32GetDatum(GetUserId());
values[i++] = UInt16GetDatum(precedence);
values[i++] = leftTypeName ? (rightTypeName ? 'b' : 'r') : 'l';