mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-02-23 19:39:53 +08:00
Use snprintf not sprintf in pg_waldump's timestamptz_to_str.
This could only cause an issue if strftime returned a ridiculously long timezone name, which seems unlikely; and it wouldn't qualify as a security problem even then, since pg_waldump (nee pg_xlogdump) is a debug tool not part of the server. But gcc 8 has started issuing warnings about it, so let's use snprintf and be safe. Backpatch to 9.3 where this code was added. Discussion: https://postgr.es/m/21789.1529170195@sss.pgh.pa.us
This commit is contained in:
parent
9b9b622b2a
commit
3243cbc085
@ -64,9 +64,11 @@ 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;
|
||||
|
Loading…
Reference in New Issue
Block a user