Skip to content

Commit 6275f5d

Browse files
committed
Fix new warnings from GCC 7
This addresses the new warning types -Wformat-truncation -Wformat-overflow that are part of -Wall, via -Wformat, in GCC 7.
1 parent 0e8286d commit 6275f5d

File tree

23 files changed

+68
-68
lines changed

23 files changed

+68
-68
lines changed

contrib/pg_standby/pg_standby.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ char *xlogFilePath; /* where we are going to restore to */
5757
char *nextWALFileName; /* the file we need to get from archive */
5858
char *restartWALFileName; /* the file from which we can restart restore */
5959
char *priorWALFileName; /* the file we need to get from archive */
60-
char WALFilePath[MAXPGPATH]; /* the file path including archive */
60+
char WALFilePath[MAXPGPATH * 2]; /* the file path including archive */
6161
char restoreCommand[MAXPGPATH]; /* run this to restore */
6262
char exclusiveCleanupFileName[MAXFNAMELEN]; /* the file we need to
6363
* get from archive */
@@ -259,9 +259,9 @@ CustomizableCleanupPriorWALFiles(void)
259259
strcmp(xlde->d_name + 8, exclusiveCleanupFileName + 8) < 0)
260260
{
261261
#ifdef WIN32
262-
snprintf(WALFilePath, MAXPGPATH, "%s\\%s", archiveLocation, xlde->d_name);
262+
snprintf(WALFilePath, sizeof(WALFilePath), "%s\\%s", archiveLocation, xlde->d_name);
263263
#else
264-
snprintf(WALFilePath, MAXPGPATH, "%s/%s", archiveLocation, xlde->d_name);
264+
snprintf(WALFilePath, sizeof(WALFilePath), "%s/%s", archiveLocation, xlde->d_name);
265265
#endif
266266

267267
if (debug)

src/backend/access/heap/rewriteheap.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1203,7 +1203,7 @@ CheckPointLogicalRewriteHeap(void)
12031203
XLogRecPtr redo;
12041204
DIR *mappings_dir;
12051205
struct dirent *mapping_de;
1206-
char path[MAXPGPATH];
1206+
char path[MAXPGPATH + 20];
12071207

12081208
/*
12091209
* We start of with a minimum of the last redo pointer. No new decoding
@@ -1234,7 +1234,7 @@ CheckPointLogicalRewriteHeap(void)
12341234
strcmp(mapping_de->d_name, "..") == 0)
12351235
continue;
12361236

1237-
snprintf(path, MAXPGPATH, "pg_logical/mappings/%s", mapping_de->d_name);
1237+
snprintf(path, sizeof(path), "pg_logical/mappings/%s", mapping_de->d_name);
12381238
if (lstat(path, &statbuf) == 0 && !S_ISREG(statbuf.st_mode))
12391239
continue;
12401240

src/backend/access/transam/xlog.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4102,7 +4102,7 @@ CleanupBackupHistory(void)
41024102
{
41034103
DIR *xldir;
41044104
struct dirent *xlde;
4105-
char path[MAXPGPATH];
4105+
char path[MAXPGPATH + sizeof(XLOGDIR)];
41064106

41074107
xldir = AllocateDir(XLOGDIR);
41084108
if (xldir == NULL)
@@ -4120,7 +4120,7 @@ CleanupBackupHistory(void)
41204120
ereport(DEBUG2,
41214121
(errmsg("removing transaction log backup history file \"%s\"",
41224122
xlde->d_name)));
4123-
snprintf(path, MAXPGPATH, XLOGDIR "/%s", xlde->d_name);
4123+
snprintf(path, sizeof(path), XLOGDIR "/%s", xlde->d_name);
41244124
unlink(path);
41254125
XLogArchiveCleanup(xlde->d_name);
41264126
}
@@ -10389,7 +10389,7 @@ do_pg_start_backup(const char *backupidstr, bool fast, TimeLineID *starttli_p,
1038910389
/* Collect information about all tablespaces */
1039010390
while ((de = ReadDir(tblspcdir, "pg_tblspc")) != NULL)
1039110391
{
10392-
char fullpath[MAXPGPATH];
10392+
char fullpath[MAXPGPATH + 10];
1039310393
char linkpath[MAXPGPATH];
1039410394
char *relpath = NULL;
1039510395
int rllen;

src/backend/postmaster/pgstat.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -606,7 +606,7 @@ pgstat_reset_remove_files(const char *directory)
606606
{
607607
DIR *dir;
608608
struct dirent *entry;
609-
char fname[MAXPGPATH];
609+
char fname[MAXPGPATH * 2];
610610

611611
dir = AllocateDir(directory);
612612
while ((entry = ReadDir(dir, directory)) != NULL)
@@ -636,7 +636,7 @@ pgstat_reset_remove_files(const char *directory)
636636
strcmp(entry->d_name + nchars, "stat") != 0)
637637
continue;
638638

639-
snprintf(fname, MAXPGPATH, "%s/%s", directory,
639+
snprintf(fname, sizeof(fname), "%s/%s", directory,
640640
entry->d_name);
641641
unlink(fname);
642642
}

src/backend/replication/basebackup.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -959,7 +959,7 @@ sendDir(char *path, int basepathlen, bool sizeonly, List *tablespaces,
959959
{
960960
DIR *dir;
961961
struct dirent *de;
962-
char pathbuf[MAXPGPATH];
962+
char pathbuf[MAXPGPATH * 2];
963963
struct stat statbuf;
964964
int64 size = 0;
965965

@@ -1011,7 +1011,7 @@ sendDir(char *path, int basepathlen, bool sizeonly, List *tablespaces,
10111011
if (excludeFound)
10121012
continue;
10131013

1014-
snprintf(pathbuf, MAXPGPATH, "%s/%s", path, de->d_name);
1014+
snprintf(pathbuf, sizeof(pathbuf), "%s/%s", path, de->d_name);
10151015

10161016
/* Skip pg_control here to back up it last */
10171017
if (strcmp(pathbuf, "./global/pg_control") == 0)

src/backend/replication/logical/reorderbuffer.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2613,7 +2613,7 @@ StartupReorderBuffer(void)
26132613
while ((logical_de = ReadDir(logical_dir, "pg_replslot")) != NULL)
26142614
{
26152615
struct stat statbuf;
2616-
char path[MAXPGPATH];
2616+
char path[MAXPGPATH * 2 + 12];
26172617

26182618
if (strcmp(logical_de->d_name, ".") == 0 ||
26192619
strcmp(logical_de->d_name, "..") == 0)

src/backend/replication/logical/snapbuild.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1868,7 +1868,7 @@ CheckPointSnapBuild(void)
18681868
XLogRecPtr redo;
18691869
DIR *snap_dir;
18701870
struct dirent *snap_de;
1871-
char path[MAXPGPATH];
1871+
char path[MAXPGPATH + 21];
18721872

18731873
/*
18741874
* We start off with a minimum of the last redo pointer. No new replication
@@ -1895,7 +1895,7 @@ CheckPointSnapBuild(void)
18951895
strcmp(snap_de->d_name, "..") == 0)
18961896
continue;
18971897

1898-
snprintf(path, MAXPGPATH, "pg_logical/snapshots/%s", snap_de->d_name);
1898+
snprintf(path, sizeof(path), "pg_logical/snapshots/%s", snap_de->d_name);
18991899

19001900
if (lstat(path, &statbuf) == 0 && !S_ISREG(statbuf.st_mode))
19011901
{

src/backend/replication/slot.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1023,13 +1023,13 @@ StartupReplicationSlots(void)
10231023
while ((replication_de = ReadDir(replication_dir, "pg_replslot")) != NULL)
10241024
{
10251025
struct stat statbuf;
1026-
char path[MAXPGPATH];
1026+
char path[MAXPGPATH + 12];
10271027

10281028
if (strcmp(replication_de->d_name, ".") == 0 ||
10291029
strcmp(replication_de->d_name, "..") == 0)
10301030
continue;
10311031

1032-
snprintf(path, MAXPGPATH, "pg_replslot/%s", replication_de->d_name);
1032+
snprintf(path, sizeof(path), "pg_replslot/%s", replication_de->d_name);
10331033

10341034
/* we're only creating directories here, skip if it's not our's */
10351035
if (lstat(path, &statbuf) == 0 && !S_ISDIR(statbuf.st_mode))
@@ -1259,7 +1259,7 @@ RestoreSlotFromDisk(const char *name)
12591259
{
12601260
ReplicationSlotOnDisk cp;
12611261
int i;
1262-
char path[MAXPGPATH];
1262+
char path[MAXPGPATH + 22];
12631263
int fd;
12641264
bool restored = false;
12651265
int readBytes;

src/backend/storage/file/copydir.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ copydir(char *fromdir, char *todir, bool recurse)
3838
{
3939
DIR *xldir;
4040
struct dirent *xlde;
41-
char fromfile[MAXPGPATH];
42-
char tofile[MAXPGPATH];
41+
char fromfile[MAXPGPATH * 2];
42+
char tofile[MAXPGPATH * 2];
4343

4444
if (mkdir(todir, S_IRWXU) != 0)
4545
ereport(ERROR,
@@ -63,8 +63,8 @@ copydir(char *fromdir, char *todir, bool recurse)
6363
strcmp(xlde->d_name, "..") == 0)
6464
continue;
6565

66-
snprintf(fromfile, MAXPGPATH, "%s/%s", fromdir, xlde->d_name);
67-
snprintf(tofile, MAXPGPATH, "%s/%s", todir, xlde->d_name);
66+
snprintf(fromfile, sizeof(fromfile), "%s/%s", fromdir, xlde->d_name);
67+
snprintf(tofile, sizeof(tofile), "%s/%s", todir, xlde->d_name);
6868

6969
if (lstat(fromfile, &fst) < 0)
7070
ereport(ERROR,
@@ -103,7 +103,7 @@ copydir(char *fromdir, char *todir, bool recurse)
103103
strcmp(xlde->d_name, "..") == 0)
104104
continue;
105105

106-
snprintf(tofile, MAXPGPATH, "%s/%s", todir, xlde->d_name);
106+
snprintf(tofile, sizeof(tofile), "%s/%s", todir, xlde->d_name);
107107

108108
/*
109109
* We don't need to sync subdirectories here since the recursive

src/backend/storage/file/fd.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2705,7 +2705,7 @@ CleanupTempFiles(bool isProcExit)
27052705
void
27062706
RemovePgTempFiles(void)
27072707
{
2708-
char temp_path[MAXPGPATH];
2708+
char temp_path[MAXPGPATH + 10 + sizeof(TABLESPACE_VERSION_DIRECTORY) + sizeof(PG_TEMP_FILES_DIR)];
27092709
DIR *spc_dir;
27102710
struct dirent *spc_de;
27112711

@@ -2753,7 +2753,7 @@ RemovePgTempFilesInDir(const char *tmpdirname)
27532753
{
27542754
DIR *temp_dir;
27552755
struct dirent *temp_de;
2756-
char rm_path[MAXPGPATH];
2756+
char rm_path[MAXPGPATH * 2];
27572757

27582758
temp_dir = AllocateDir(tmpdirname);
27592759
if (temp_dir == NULL)
@@ -2794,7 +2794,7 @@ RemovePgTempRelationFiles(const char *tsdirname)
27942794
{
27952795
DIR *ts_dir;
27962796
struct dirent *de;
2797-
char dbspace_path[MAXPGPATH];
2797+
char dbspace_path[MAXPGPATH * 2];
27982798

27992799
ts_dir = AllocateDir(tsdirname);
28002800
if (ts_dir == NULL)
@@ -2835,7 +2835,7 @@ RemovePgTempRelationFilesInDbspace(const char *dbspacedirname)
28352835
{
28362836
DIR *dbspace_dir;
28372837
struct dirent *de;
2838-
char rm_path[MAXPGPATH];
2838+
char rm_path[MAXPGPATH * 2];
28392839

28402840
dbspace_dir = AllocateDir(dbspacedirname);
28412841
if (dbspace_dir == NULL)
@@ -3022,7 +3022,7 @@ walkdir(const char *path,
30223022

30233023
while ((de = ReadDirExtended(dir, path, elevel)) != NULL)
30243024
{
3025-
char subpath[MAXPGPATH];
3025+
char subpath[MAXPGPATH * 2];
30263026
struct stat fst;
30273027
int sret;
30283028

@@ -3032,7 +3032,7 @@ walkdir(const char *path,
30323032
strcmp(de->d_name, "..") == 0)
30333033
continue;
30343034

3035-
snprintf(subpath, MAXPGPATH, "%s/%s", path, de->d_name);
3035+
snprintf(subpath, sizeof(subpath), "%s/%s", path, de->d_name);
30363036

30373037
if (process_symlinks)
30383038
sret = stat(subpath, &fst);

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy