Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit dd912c6

Browse files
committed
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
1 parent e0a77f5 commit dd912c6

File tree

5 files changed

+18
-18
lines changed

5 files changed

+18
-18
lines changed

src/backend/commands/tablecmds.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $Header: /cvsroot/pgsql/src/backend/commands/tablecmds.c,v 1.33 2002/08/24 15:00:46 tgl Exp $
11+
* $Header: /cvsroot/pgsql/src/backend/commands/tablecmds.c,v 1.34 2002/08/27 03:56:34 momjian Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -3370,8 +3370,8 @@ AlterTableCreateToastTable(Oid relOid, bool silent)
33703370
/*
33713371
* Create the toast table and its index
33723372
*/
3373-
sprintf(toast_relname, "pg_toast_%u", relOid);
3374-
sprintf(toast_idxname, "pg_toast_%u_index", relOid);
3373+
snprintf(toast_relname, NAMEDATALEN, "pg_toast_%u", relOid);
3374+
snprintf(toast_idxname, NAMEDATALEN, "pg_toast_%u_index", relOid);
33753375

33763376
/* this is pretty painful... need a tuple descriptor */
33773377
tupdesc = CreateTemplateTupleDesc(3, WITHOUTOID);

src/backend/parser/analyze.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
77
* Portions Copyright (c) 1994, Regents of the University of California
88
*
9-
* $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.242 2002/08/19 19:33:34 tgl Exp $
9+
* $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.243 2002/08/27 03:56:34 momjian Exp $
1010
*
1111
*-------------------------------------------------------------------------
1212
*/
@@ -665,7 +665,7 @@ CreateIndexName(char *table_name, char *column_name,
665665
* indexes, only among the indexes we're about to create now; this
666666
* ought to be improved someday.
667667
*/
668-
strcpy(typename, label);
668+
strncpy(typename, label, sizeof(typename));
669669

670670
for (;;)
671671
{
@@ -685,7 +685,7 @@ CreateIndexName(char *table_name, char *column_name,
685685

686686
/* found a conflict, so try a new name component */
687687
pfree(iname);
688-
sprintf(typename, "%s%d", label, ++pass);
688+
snprintf(typename, sizeof(typename), "%s%d", label, ++pass);
689689
}
690690

691691
return iname;

src/backend/storage/ipc/shmqueue.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $Header: /cvsroot/pgsql/src/backend/storage/ipc/shmqueue.c,v 1.21 2002/06/20 20:29:35 momjian Exp $
11+
* $Header: /cvsroot/pgsql/src/backend/storage/ipc/shmqueue.c,v 1.22 2002/08/27 03:56:35 momjian Exp $
1212
*
1313
* NOTES
1414
*
@@ -214,11 +214,11 @@ dumpQ(SHM_QUEUE *q, char *s)
214214
SHM_QUEUE *start = q;
215215
int count = 0;
216216

217-
sprintf(buf, "q prevs: %lx", MAKE_OFFSET(q));
217+
snprintf(buf, sizeof(buf), "q prevs: %lx", MAKE_OFFSET(q));
218218
q = (SHM_QUEUE *) MAKE_PTR(q->prev);
219219
while (q != start)
220220
{
221-
sprintf(elem, "--->%lx", MAKE_OFFSET(q));
221+
snprintf(elem, sizeof(elem), "--->%lx", MAKE_OFFSET(q));
222222
strcat(buf, elem);
223223
q = (SHM_QUEUE *) MAKE_PTR(q->prev);
224224
if (q->prev == MAKE_OFFSET(q))
@@ -229,16 +229,16 @@ dumpQ(SHM_QUEUE *q, char *s)
229229
break;
230230
}
231231
}
232-
sprintf(elem, "--->%lx", MAKE_OFFSET(q));
232+
snprintf(elem, sizeof(elem), "--->%lx", MAKE_OFFSET(q));
233233
strcat(buf, elem);
234234
elog(SHMQUEUE_DEBUG_ELOG, "%s: %s", s, buf);
235235

236-
sprintf(buf, "q nexts: %lx", MAKE_OFFSET(q));
236+
snprintf(buf, sizeof(buf), "q nexts: %lx", MAKE_OFFSET(q));
237237
count = 0;
238238
q = (SHM_QUEUE *) MAKE_PTR(q->next);
239239
while (q != start)
240240
{
241-
sprintf(elem, "--->%lx", MAKE_OFFSET(q));
241+
snprintf(elem, sizeof(elem), "--->%lx", MAKE_OFFSET(q));
242242
strcat(buf, elem);
243243
q = (SHM_QUEUE *) MAKE_PTR(q->next);
244244
if (q->next == MAKE_OFFSET(q))
@@ -249,7 +249,7 @@ dumpQ(SHM_QUEUE *q, char *s)
249249
break;
250250
}
251251
}
252-
sprintf(elem, "--->%lx", MAKE_OFFSET(q));
252+
snprintf(elem, sizeof(elem), "--->%lx", MAKE_OFFSET(q));
253253
strcat(buf, elem);
254254
elog(SHMQUEUE_DEBUG_ELOG, "%s: %s", s, buf);
255255
}

src/backend/utils/adt/acl.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $Header: /cvsroot/pgsql/src/backend/utils/adt/acl.c,v 1.76 2002/08/26 17:53:58 tgl Exp $
11+
* $Header: /cvsroot/pgsql/src/backend/utils/adt/acl.c,v 1.77 2002/08/27 03:56:35 momjian Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -136,9 +136,9 @@ aclparse(const char *s, AclItem *aip, unsigned *modechg)
136136
*s != ACL_MODECHG_EQL_CHR)
137137
{
138138
/* we just read a keyword, not a name */
139-
if (strcmp(name, ACL_IDTYPE_GID_KEYWORD) == 0)
139+
if (strncmp(name, ACL_IDTYPE_GID_KEYWORD, sizeof(name)) == 0)
140140
idtype = ACL_IDTYPE_GID;
141-
else if (strcmp(name, ACL_IDTYPE_UID_KEYWORD) != 0)
141+
else if (strncmp(name, ACL_IDTYPE_UID_KEYWORD, sizeof(name)) != 0)
142142
elog(ERROR, "aclparse: bad keyword, must be [group|user]");
143143
s = getid(s, name); /* move s to the name beyond the keyword */
144144
if (name[0] == '\0')

src/backend/utils/adt/sets.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
*
1111
*
1212
* IDENTIFICATION
13-
* $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/sets.c,v 1.51 2002/08/09 16:45:14 tgl Exp $
13+
* $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/sets.c,v 1.52 2002/08/27 03:56:35 momjian Exp $
1414
*
1515
*-------------------------------------------------------------------------
1616
*/
@@ -95,7 +95,7 @@ SetDefine(char *querystr, Oid elemType)
9595
if (strcmp(procname, NameStr(proc->proname)) == 0)
9696
{
9797
/* make the real proc name */
98-
sprintf(realprocname, "set%u", setoid);
98+
snprintf(realprocname, sizeof(realprocname), "set%u", setoid);
9999

100100
/* set up the attributes to be modified or kept the same */
101101
repl[0] = 'r';

0 commit comments

Comments
 (0)