Code review of strftime patch, per comments from Tom:
authorMagnus Hagander
Fri, 9 Jan 2009 14:07:00 +0000 (14:07 +0000)
committerMagnus Hagander
Fri, 9 Jan 2009 14:07:00 +0000 (14:07 +0000)
* Use correct buffer size MAX_L10N_DATA
* Use strlcpy instead of StrNCpy

src/backend/utils/adt/pg_locale.c

index 95ce7fd40c75f13f15456026b4d0019e7bb074d2..1d35a5066274ec794afef9e35a7d6ddb5b52010d 100644 (file)
@@ -4,7 +4,7 @@
  *
  * Portions Copyright (c) 2002-2009, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/backend/utils/adt/pg_locale.c,v 1.44 2009/01/09 13:03:55 mha Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/pg_locale.c,v 1.45 2009/01/09 14:07:00 mha Exp $
  *
  *-----------------------------------------------------------------------
  */
@@ -476,7 +476,7 @@ strftime_win32(char *dst, size_t dstlen, const wchar_t *format, const struct tm
 
    encoding = GetDatabaseEncoding();
 
-   len = wcsftime(wbuf, sizeof(wbuf), format, tm);
+   len = wcsftime(wbuf, MAX_L10N_DATA, format, tm);
    if (len == 0)
        /* strftime call failed - return 0 with the contents of dst unspecified */
        return 0;
@@ -492,7 +492,7 @@ strftime_win32(char *dst, size_t dstlen, const wchar_t *format, const struct tm
        char *convstr = pg_do_encoding_conversion(dst, len, PG_UTF8, encoding);
        if (dst != convstr)
        {
-           StrNCpy(dst, convstr, dstlen);
+           strlcpy(dst, convstr, dstlen);
            len = strlen(dst);
        }
    }