diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c
index 0b9bb86578a14d8d3d0b65ccd37b6bfe48635b4d..7a6e1c69956aa8b654735dbee2c58646dae1e1fc 100644
--- a/src/backend/executor/execMain.c
+++ b/src/backend/executor/execMain.c
@@ -27,7 +27,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.174 2002/08/15 16:36:02 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.175 2002/08/28 20:46:22 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -545,7 +545,7 @@ InitPlan(CmdType operation, Query *parseTree, Plan *plan, EState *estate)
 			erm = (execRowMark *) palloc(sizeof(execRowMark));
 			erm->relation = relation;
 			erm->rti = rti;
-			sprintf(erm->resname, "ctid%u", rti);
+			snprintf(erm->resname, 32, "ctid%u", rti);
 			estate->es_rowMark = lappend(estate->es_rowMark, erm);
 		}
 	}
diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c
index 999702a05a9b5c3a12927a69ca35ab7e09569ca0..b55f8380d47f9491c61f0c4e9c132b738355fc6b 100644
--- a/src/backend/optimizer/plan/planner.c
+++ b/src/backend/optimizer/plan/planner.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.122 2002/06/20 20:29:31 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.123 2002/08/28 20:46:23 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -961,7 +961,7 @@ grouping_planner(Query *parse, double tuple_fraction)
 				TargetEntry *ctid;
 
 				resname = (char *) palloc(32);
-				sprintf(resname, "ctid%u", rti);
+				snprintf(resname, 32, "ctid%u", rti);
 				resdom = makeResdom(length(tlist) + 1,
 									TIDOID,
 									-1,
diff --git a/src/backend/parser/analyze.c b/src/backend/parser/analyze.c
index ffa371d92605d38ffacbda3b215f2075fa6be1c5..514573b79a6f160ff8cbbfaf9595e8b1e54ea3ad 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.244 2002/08/27 04:55:07 tgl Exp $
+ *	$Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.245 2002/08/28 20:46:23 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -2157,7 +2157,7 @@ transformSetOperationTree(ParseState *pstate, SelectStmt *stmt)
 		/*
 		 * Make the leaf query be a subquery in the top-level rangetable.
 		 */
-		sprintf(selectName, "*SELECT* %d", length(pstate->p_rtable) + 1);
+		snprintf(selectName, 32, "*SELECT* %d", length(pstate->p_rtable) + 1);
 		rte = addRangeTableEntryForSubquery(pstate,
 											selectQuery,
 											makeAlias(selectName, NIL),
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index 7fcc01a38f6a4c93b6da12c2ece65c136d22f98f..561145bb97de16f07c7ab2ea348b320e21c8ba75 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -11,7 +11,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.362 2002/08/28 14:35:37 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.363 2002/08/28 20:46:23 momjian Exp $
  *
  * HISTORY
  *	  AUTHOR			DATE			MAJOR EVENT
@@ -2096,7 +2096,7 @@ TriggerFuncArg:
 			ICONST
 				{
 					char buf[64];
-					sprintf (buf, "%d", $1);
+					snprintf (buf, sizeof(buf), "%d", $1);
 					$$ = makeString(pstrdup(buf));
 				}
 			| FCONST								{ $$ = makeString($1); }
diff --git a/src/backend/utils/adt/mac.c b/src/backend/utils/adt/mac.c
index 832c5cb4f84346aa0805097edd1caebc3d41025f..c12163921dbbad2537376f6df0278bd327252d52 100644
--- a/src/backend/utils/adt/mac.c
+++ b/src/backend/utils/adt/mac.c
@@ -1,7 +1,7 @@
 /*
  *	PostgreSQL type definitions for MAC addresses.
  *
- *	$Header: /cvsroot/pgsql/src/backend/utils/adt/mac.c,v 1.24 2002/06/17 07:00:26 momjian Exp $
+ *	$Header: /cvsroot/pgsql/src/backend/utils/adt/mac.c,v 1.25 2002/08/28 20:46:24 momjian Exp $
  */
 
 #include "postgres.h"
@@ -80,7 +80,7 @@ macaddr_out(PG_FUNCTION_ARGS)
 
 	result = (char *) palloc(32);
 
-	sprintf(result, "%02x:%02x:%02x:%02x:%02x:%02x",
+	snprintf(result, 32, "%02x:%02x:%02x:%02x:%02x:%02x",
 			addr->a, addr->b, addr->c, addr->d, addr->e, addr->f);
 
 	PG_RETURN_CSTRING(result);
diff --git a/src/backend/utils/adt/tid.c b/src/backend/utils/adt/tid.c
index 5a784a4476869c9a2f718fe596e9b7ec3f464122..bd642a26e9719471dc999efc3a8534e91b3a0786 100644
--- a/src/backend/utils/adt/tid.c
+++ b/src/backend/utils/adt/tid.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/utils/adt/tid.c,v 1.33 2002/08/15 16:36:05 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/utils/adt/tid.c,v 1.34 2002/08/28 20:46:24 momjian Exp $
  *
  * NOTES
  *	  input routine largely stolen from boxin().
@@ -101,7 +101,7 @@ tidout(PG_FUNCTION_ARGS)
 	blockNumber = BlockIdGetBlockNumber(blockId);
 	offsetNumber = itemPtr->ip_posid;
 
-	sprintf(buf, "(%u,%u)", blockNumber, offsetNumber);
+	snprintf(buf, sizeof(buf), "(%u,%u)", blockNumber, offsetNumber);
 
 	PG_RETURN_CSTRING(pstrdup(buf));
 }
diff --git a/src/backend/utils/adt/varlena.c b/src/backend/utils/adt/varlena.c
index 9f8a4d563ee4dfe6a069808de958fb0f57360dc4..52598aba9e88f4f14c634b3de788618566ea6671 100644
--- a/src/backend/utils/adt/varlena.c
+++ b/src/backend/utils/adt/varlena.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.88 2002/08/22 03:24:00 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.89 2002/08/28 20:46:24 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1787,12 +1787,11 @@ to_hex32(PG_FUNCTION_ARGS)
 {
 	static char		digits[] = "0123456789abcdef";
 	char			buf[32];	/* bigger than needed, but reasonable */
-	char		   *ptr,
-				   *end;
+	char		   *ptr;
 	text		   *result_text;
 	int32			value = PG_GETARG_INT32(0);
 
-	end = ptr = buf + sizeof(buf) - 1;
+	ptr = buf + sizeof(buf) - 1;
 	*ptr = '\0';
 
 	do
@@ -1814,12 +1813,11 @@ to_hex64(PG_FUNCTION_ARGS)
 {
 	static char		digits[] = "0123456789abcdef";
 	char			buf[32];	/* bigger than needed, but reasonable */
-	char			*ptr,
-					*end;
+	char			*ptr;
 	text			*result_text;
 	int64			value = PG_GETARG_INT64(0);
 
-	end = ptr = buf + sizeof(buf) - 1;
+	ptr = buf + sizeof(buf) - 1;
 	*ptr = '\0';
 
 	do
diff --git a/src/bin/pg_dump/pg_backup_tar.c b/src/bin/pg_dump/pg_backup_tar.c
index 38c84d9b482a11f408f107642cd78b8059ce5a63..87f53e17d5569062c5b76e9f7def235af725b9cb 100644
--- a/src/bin/pg_dump/pg_backup_tar.c
+++ b/src/bin/pg_dump/pg_backup_tar.c
@@ -16,7 +16,7 @@
  *
  *
  * IDENTIFICATION
- *		$Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_tar.c,v 1.25 2002/08/20 17:54:44 petere Exp $
+ *		$Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_tar.c,v 1.26 2002/08/28 20:46:24 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1189,12 +1189,10 @@ static void
 _tarWriteHeader(TAR_MEMBER *th)
 {
 	char		h[512];
-	int			i;
 	int			lastSum = 0;
 	int			sum;
 
-	for (i = 0; i < 512; i++)
-		h[i] = '\0';
+	memset(h, 0, sizeof(h));
 
 	/* Name 100 */
 	sprintf(&h[0], "%.99s", th->targetFile);
diff --git a/src/bin/pg_dump/pg_backup_tar.h b/src/bin/pg_dump/pg_backup_tar.h
index a183e248996f91560e842ba47c5f3c06e805a015..bfaa456a161f87dee88aad4c7c14f550083ddd60 100644
--- a/src/bin/pg_dump/pg_backup_tar.h
+++ b/src/bin/pg_dump/pg_backup_tar.h
@@ -1,10 +1,10 @@
 /*
- * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_tar.h,v 1.3 2001/03/22 04:00:14 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_tar.h,v 1.4 2002/08/28 20:46:24 momjian Exp $
  *
  * TAR Header
  *
  * Offset	Length	 Contents
- *	 0	  100 bytes  File name ('\0' terminated, 99 maxmum length)
+ *	 0	  100 bytes  File name ('\0' terminated, 99 maximum length)
  * 100		8 bytes  File mode (in octal ascii)
  * 108		8 bytes  User ID (in octal ascii)
  * 116		8 bytes  Group ID (in octal ascii)
@@ -12,10 +12,10 @@
  * 136	   12 bytes  Modify time (in octal ascii)
  * 148		8 bytes  Header checksum (in octal ascii)
  * 156		1 bytes  Link flag
- * 157	  100 bytes  Linkname ('\0' terminated, 99 maxmum length)
+ * 157	  100 bytes  Linkname ('\0' terminated, 99 maximum length)
  * 257		8 bytes  Magic ("ustar  \0")
- * 265	   32 bytes  User name ('\0' terminated, 31 maxmum length)
- * 297	   32 bytes  Group name ('\0' terminated, 31 maxmum length)
+ * 265	   32 bytes  User name ('\0' terminated, 31 maximum length)
+ * 297	   32 bytes  Group name ('\0' terminated, 31 maximum length)
  * 329		8 bytes  Major device ID (in octal ascii)
  * 337		8 bytes  Minor device ID (in octal ascii)
  * 345	  167 bytes  Padding
diff --git a/src/bin/psql/print.c b/src/bin/psql/print.c
index f8dd092d677098cbef7de46d94bb1f453bd03d65..bd0366528f5596eb3dbbff4207f0ef9e057918e8 100644
--- a/src/bin/psql/print.c
+++ b/src/bin/psql/print.c
@@ -3,7 +3,7 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/print.c,v 1.29 2002/08/27 20:16:48 petere Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/print.c,v 1.30 2002/08/28 20:46:24 momjian Exp $
  */
 #include "postgres_fe.h"
 #include "print.h"
@@ -494,9 +494,9 @@ print_aligned_vertical(const char *title, const char *const * headers,
 				}
 
 				if (opt_border == 0)
-					sprintf(record_str, "* Record %d", record++);
+					snprintf(record_str, 32, "* Record %d", record++);
 				else
-					sprintf(record_str, "[ RECORD %d ]", record++);
+					snprintf(record_str, 32, "[ RECORD %d ]", record++);
 				record_str_len = strlen(record_str);
 
 				if (record_str_len + opt_border > strlen(divider))
diff --git a/src/interfaces/cli/example2.c b/src/interfaces/cli/example2.c
index 42a63e5b503703c3d4a39ffe30de87ea2ba4e5c3..6a4fb56c732a6e289dc1e57828a44069efb15ede 100644
--- a/src/interfaces/cli/example2.c
+++ b/src/interfaces/cli/example2.c
@@ -56,7 +56,7 @@ example2(SQLCHAR *server, SQLCHAR *uid, SQLCHAR *authen, SQLCHAR *sqlstr)
 	SQLHDBC		hdbc;
 	SQLHSTMT	hstmt;
 	SQLCHAR		errmsg[256];
-	SQLCHAR		colname[32];
+	SQLCHAR		colname[64];
 	SQLSMALLINT coltype;
 	SQLSMALLINT colnamelen;
 	SQLSMALLINT nullable;
diff --git a/src/pl/plpgsql/src/gram.y b/src/pl/plpgsql/src/gram.y
index 0a181cd07e2996fd7fd45b5360afe6b1088df5c9..75d0a0b07a254dde16e529551d859bba19449775 100644
--- a/src/pl/plpgsql/src/gram.y
+++ b/src/pl/plpgsql/src/gram.y
@@ -4,7 +4,7 @@
  *						  procedural language
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/pl/plpgsql/src/gram.y,v 1.34 2002/08/08 01:36:04 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/pl/plpgsql/src/gram.y,v 1.35 2002/08/28 20:46:24 momjian Exp $
  *
  *	  This software is copyrighted by Jan Wieck - Hamburg.
  *
@@ -1594,7 +1594,7 @@ read_sql_construct(int until,
 		{
 			case T_VARIABLE:
 				params[nparams] = yylval.variable->dno;
-				sprintf(buf, " $%d ", ++nparams);
+				snprintf(buf, sizeof(buf), " $%d ", ++nparams);
 				plpgsql_dstring_append(&ds, buf);
 				break;
 
@@ -1791,7 +1791,7 @@ make_select_stmt(void)
 		{
 			case T_VARIABLE:
 				params[nparams] = yylval.variable->dno;
-				sprintf(buf, " $%d ", ++nparams);
+				snprintf(buf, sizeof(buf), " $%d ", ++nparams);
 				plpgsql_dstring_append(&ds, buf);
 				break;
 
diff --git a/src/pl/plpgsql/src/pl_comp.c b/src/pl/plpgsql/src/pl_comp.c
index c85207780f1621fde1a6d91cf07dfcef313c4f92..70f1de470c94c026d1b7a72812193b874adef6c9 100644
--- a/src/pl/plpgsql/src/pl_comp.c
+++ b/src/pl/plpgsql/src/pl_comp.c
@@ -3,7 +3,7 @@
  *			  procedural language
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.47 2002/08/22 00:01:50 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.48 2002/08/28 20:46:24 momjian Exp $
  *
  *	  This software is copyrighted by Jan Wieck - Hamburg.
  *
@@ -249,7 +249,7 @@ plpgsql_compile(Oid fn_oid, int functype)
 			{
 				char		buf[32];
 
-				sprintf(buf, "$%d", i + 1);	/* name for variable */
+				snprintf(buf, sizeof(buf), "$%d", i + 1);	/* name for variable */
 
 				/*
 				 * Get the parameters type