aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2002-12-12 19:17:04 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2002-12-12 19:17:04 +0000
commit1c432d60d72a202689d9aba0da7092a20b296f86 (patch)
tree05ee34cb586695f8da2ab1d9648d0156285de074
parent68df4f7ca8cb610a39f6a413cb6b525c505d2152 (diff)
downloadpostgresql-1c432d60d72a202689d9aba0da7092a20b296f86.tar.gz
postgresql-1c432d60d72a202689d9aba0da7092a20b296f86.zip
Guard against overrunning CTZName buffer when TZ is bogus.
-rw-r--r--src/backend/utils/adt/nabstime.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/backend/utils/adt/nabstime.c b/src/backend/utils/adt/nabstime.c
index 0e57ec72a28..c773ccbdab7 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.100.2.1 2002/11/12 00:39:36 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/nabstime.c,v 1.100.2.2 2002/12/12 19:17:04 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;