From dd912c697718e924387dd405413f94e481f8d0d4 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 27 Aug 2002 03:56:35 +0000 Subject: [PATCH] This patches replaces a few more usages of strcpy() and sprintf() when copying into a fixed-size buffer (in this case, a buffer of NAMEDATALEN bytes). AFAICT nothing to worry about here, but worth fixing anyway... Neil Conway --- src/backend/commands/tablecmds.c | 6 +++--- src/backend/parser/analyze.c | 6 +++--- src/backend/storage/ipc/shmqueue.c | 14 +++++++------- src/backend/utils/adt/acl.c | 6 +++--- src/backend/utils/adt/sets.c | 4 ++-- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 94c687721b..c4e4affa11 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/tablecmds.c,v 1.33 2002/08/24 15:00:46 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/tablecmds.c,v 1.34 2002/08/27 03:56:34 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -3370,8 +3370,8 @@ AlterTableCreateToastTable(Oid relOid, bool silent) /* * Create the toast table and its index */ - sprintf(toast_relname, "pg_toast_%u", relOid); - sprintf(toast_idxname, "pg_toast_%u_index", relOid); + snprintf(toast_relname, NAMEDATALEN, "pg_toast_%u", relOid); + snprintf(toast_idxname, NAMEDATALEN, "pg_toast_%u_index", relOid); /* this is pretty painful... need a tuple descriptor */ tupdesc = CreateTemplateTupleDesc(3, WITHOUTOID); diff --git a/src/backend/parser/analyze.c b/src/backend/parser/analyze.c index 1890f01c6f..01e6d867ce 100644 --- a/src/backend/parser/analyze.c +++ b/src/backend/parser/analyze.c @@ -6,7 +6,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.242 2002/08/19 19:33:34 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.243 2002/08/27 03:56:34 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -665,7 +665,7 @@ CreateIndexName(char *table_name, char *column_name, * indexes, only among the indexes we're about to create now; this * ought to be improved someday. */ - strcpy(typename, label); + strncpy(typename, label, sizeof(typename)); for (;;) { @@ -685,7 +685,7 @@ CreateIndexName(char *table_name, char *column_name, /* found a conflict, so try a new name component */ pfree(iname); - sprintf(typename, "%s%d", label, ++pass); + snprintf(typename, sizeof(typename), "%s%d", label, ++pass); } return iname; diff --git a/src/backend/storage/ipc/shmqueue.c b/src/backend/storage/ipc/shmqueue.c index bbd98038ef..726ae556c4 100644 --- a/src/backend/storage/ipc/shmqueue.c +++ b/src/backend/storage/ipc/shmqueue.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/storage/ipc/shmqueue.c,v 1.21 2002/06/20 20:29:35 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/ipc/shmqueue.c,v 1.22 2002/08/27 03:56:35 momjian Exp $ * * NOTES * @@ -214,11 +214,11 @@ dumpQ(SHM_QUEUE *q, char *s) SHM_QUEUE *start = q; int count = 0; - sprintf(buf, "q prevs: %lx", MAKE_OFFSET(q)); + snprintf(buf, sizeof(buf), "q prevs: %lx", MAKE_OFFSET(q)); q = (SHM_QUEUE *) MAKE_PTR(q->prev); while (q != start) { - sprintf(elem, "--->%lx", MAKE_OFFSET(q)); + snprintf(elem, sizeof(elem), "--->%lx", MAKE_OFFSET(q)); strcat(buf, elem); q = (SHM_QUEUE *) MAKE_PTR(q->prev); if (q->prev == MAKE_OFFSET(q)) @@ -229,16 +229,16 @@ dumpQ(SHM_QUEUE *q, char *s) break; } } - sprintf(elem, "--->%lx", MAKE_OFFSET(q)); + snprintf(elem, sizeof(elem), "--->%lx", MAKE_OFFSET(q)); strcat(buf, elem); elog(SHMQUEUE_DEBUG_ELOG, "%s: %s", s, buf); - sprintf(buf, "q nexts: %lx", MAKE_OFFSET(q)); + snprintf(buf, sizeof(buf), "q nexts: %lx", MAKE_OFFSET(q)); count = 0; q = (SHM_QUEUE *) MAKE_PTR(q->next); while (q != start) { - sprintf(elem, "--->%lx", MAKE_OFFSET(q)); + snprintf(elem, sizeof(elem), "--->%lx", MAKE_OFFSET(q)); strcat(buf, elem); q = (SHM_QUEUE *) MAKE_PTR(q->next); if (q->next == MAKE_OFFSET(q)) @@ -249,7 +249,7 @@ dumpQ(SHM_QUEUE *q, char *s) break; } } - sprintf(elem, "--->%lx", MAKE_OFFSET(q)); + snprintf(elem, sizeof(elem), "--->%lx", MAKE_OFFSET(q)); strcat(buf, elem); elog(SHMQUEUE_DEBUG_ELOG, "%s: %s", s, buf); } diff --git a/src/backend/utils/adt/acl.c b/src/backend/utils/adt/acl.c index 05493033d3..37a5b5b183 100644 --- a/src/backend/utils/adt/acl.c +++ b/src/backend/utils/adt/acl.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/acl.c,v 1.76 2002/08/26 17:53:58 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/acl.c,v 1.77 2002/08/27 03:56:35 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -136,9 +136,9 @@ aclparse(const char *s, AclItem *aip, unsigned *modechg) *s != ACL_MODECHG_EQL_CHR) { /* we just read a keyword, not a name */ - if (strcmp(name, ACL_IDTYPE_GID_KEYWORD) == 0) + if (strncmp(name, ACL_IDTYPE_GID_KEYWORD, sizeof(name)) == 0) idtype = ACL_IDTYPE_GID; - else if (strcmp(name, ACL_IDTYPE_UID_KEYWORD) != 0) + else if (strncmp(name, ACL_IDTYPE_UID_KEYWORD, sizeof(name)) != 0) elog(ERROR, "aclparse: bad keyword, must be [group|user]"); s = getid(s, name); /* move s to the name beyond the keyword */ if (name[0] == '\0') diff --git a/src/backend/utils/adt/sets.c b/src/backend/utils/adt/sets.c index d4ba7a1805..2c0beb25e0 100644 --- a/src/backend/utils/adt/sets.c +++ b/src/backend/utils/adt/sets.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/sets.c,v 1.51 2002/08/09 16:45:14 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/sets.c,v 1.52 2002/08/27 03:56:35 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -95,7 +95,7 @@ SetDefine(char *querystr, Oid elemType) if (strcmp(procname, NameStr(proc->proname)) == 0) { /* make the real proc name */ - sprintf(realprocname, "set%u", setoid); + snprintf(realprocname, sizeof(realprocname), "set%u", setoid); /* set up the attributes to be modified or kept the same */ repl[0] = 'r'; -- 2.11.0