Hello. (added Tom in Cc:)
If I build the past versions from 9.4 to 9.6 with GCC8, I find it
really annoying to see the build screen filled with massive number of
warnings of format-truncation, stringop-truncation and
format-overflow.
Just applying the commit 416e3e318c as-is silences the first two.
The last one is silenced by applying 5d923eb29b.
The commit message is sayiing that it is back-patched back at least to
9.4, but it seem that the versions from 9.4 to 9.6 haven't got the
patches.
Tom, would you back-patch the two commits to from 9.4 to 9.6?
regards.
--
Kyotaro Horiguchi
NTT Open Source Software Center
diff --git a/contrib/pg_xlogdump/compat.c b/contrib/pg_xlogdump/compat.c
index 6ca7012fd9..3f68db7fdf 100644
--- a/contrib/pg_xlogdump/compat.c
+++ b/contrib/pg_xlogdump/compat.c
@@ -64,9 +64,10 @@ timestamptz_to_str(TimestampTz dt)
strftime(zone, sizeof(zone), "%Z", ltime);
#ifdef HAVE_INT64_TIMESTAMP
- sprintf(buf, "%s.%06d %s", ts, (int) (dt % USECS_PER_SEC), zone);
+ snprintf(buf, sizeof(buf), "%s.%06d %s",
+ ts, (int) (dt % USECS_PER_SEC), zone);
#else
- sprintf(buf, "%s.%.6f %s", ts, fabs(dt - floor(dt)), zone);
+ snprintf(buf, sizeof(buf), "%s.%.6f %s", ts, fabs(dt - floor(dt)), zone);
#endif
return buf;
diff --git a/src/backend/catalog/storage.c b/src/backend/catalog/storage.c
index 0fc48dc542..c183800c63 100644
--- a/src/backend/catalog/storage.c
+++ b/src/backend/catalog/storage.c
@@ -64,7 +64,7 @@ typedef struct PendingRelDelete
/*
* This might look silly, but this is intended to unify the back-patched code
- * with other versions.
+ * against the master branch.
*/
typedef struct pendingSync
{
diff --git a/src/bin/pg_xlogdump/compat.c b/src/bin/pg_xlogdump/compat.c
index 845c2e5234..165c2ae544 100644
--- a/src/bin/pg_xlogdump/compat.c
+++ b/src/bin/pg_xlogdump/compat.c
@@ -64,9 +64,10 @@ timestamptz_to_str(TimestampTz dt)
strftime(zone, sizeof(zone), "%Z", ltime);
#ifdef HAVE_INT64_TIMESTAMP
- sprintf(buf, "%s.%06d %s", ts, (int) (dt % USECS_PER_SEC), zone);
+ snprintf(buf, sizeof(buf), "%s.%06d %s",
+ ts, (int) (dt % USECS_PER_SEC), zone);
#else
- sprintf(buf, "%s.%.6f %s", ts, fabs(dt - floor(dt)), zone);
+ snprintf(buf, sizeof(buf), "%s.%.6f %s", ts, fabs(dt - floor(dt)), zone);
#endif
return buf;