diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-12-12 19:17:04 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-12-12 19:17:04 +0000 |
commit | 1c432d60d72a202689d9aba0da7092a20b296f86 (patch) | |
tree | 05ee34cb586695f8da2ab1d9648d0156285de074 | |
parent | 68df4f7ca8cb610a39f6a413cb6b525c505d2152 (diff) | |
download | postgresql-1c432d60d72a202689d9aba0da7092a20b296f86.tar.gz postgresql-1c432d60d72a202689d9aba0da7092a20b296f86.zip |
Guard against overrunning CTZName buffer when TZ is bogus.
-rw-r--r-- | src/backend/utils/adt/nabstime.c | 10 |
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; |