From ff7349694f399d0063b51419ea6e25770334f363 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Thu, 12 Dec 2002 19:16:55 +0000
Subject: [PATCH] Guard against overrunning CTZName buffer when TZ is bogus.

---
 src/backend/utils/adt/nabstime.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/adt/nabstime.c b/src/backend/utils/adt/nabstime.c
index a6aa8a42b3b..853cd014852 100644
--- a/src/backend/utils/adt/nabstime.c
+++ b/src/backend/utils/adt/nabstime.c
@@ -9,7 +9,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/utils/adt/nabstime.c,v 1.101 2002/11/12 00:39:08 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/utils/adt/nabstime.c,v 1.102 2002/12/12 19:16:55 tgl Exp $
  *
  * NOTES
  *
@@ -130,14 +130,14 @@ GetCurrentAbsoluteTime(void)
 		 * XXX FreeBSD man pages indicate that this should work - thomas
 		 * 1998-12-12
 		 */
-		strcpy(CTZName, tm->tm_zone);
+		StrNCpy(CTZName, tm->tm_zone, MAXTZLEN+1);
 
 #elif defined(HAVE_INT_TIMEZONE)
 		tm = localtime(&now);
 
 		CDayLight = tm->tm_isdst;
 		CTimeZone = ((tm->tm_isdst > 0) ? (TIMEZONE_GLOBAL - 3600) : TIMEZONE_GLOBAL);
-		strcpy(CTZName, tzname[tm->tm_isdst]);
+		StrNCpy(CTZName, tzname[tm->tm_isdst], MAXTZLEN+1);
 #else							/* neither HAVE_TM_ZONE nor
 								 * HAVE_INT_TIMEZONE */
 		CTimeZone = tb.timezone * 60;
@@ -212,14 +212,14 @@ GetCurrentAbsoluteTimeUsec(int *usec)
 		 * XXX FreeBSD man pages indicate that this should work - thomas
 		 * 1998-12-12
 		 */
-		strcpy(CTZName, tm->tm_zone);
+		StrNCpy(CTZName, tm->tm_zone, MAXTZLEN+1);
 
 #elif defined(HAVE_INT_TIMEZONE)
 		tm = localtime(&now);
 
 		CDayLight = tm->tm_isdst;
 		CTimeZone = ((tm->tm_isdst > 0) ? (TIMEZONE_GLOBAL - 3600) : TIMEZONE_GLOBAL);
-		strcpy(CTZName, tzname[tm->tm_isdst]);
+		StrNCpy(CTZName, tzname[tm->tm_isdst], MAXTZLEN+1);
 #else							/* neither HAVE_TM_ZONE nor
 								 * HAVE_INT_TIMEZONE */
 		CTimeZone = tb.timezone * 60;
-- 
GitLab