@@ -39,7 +39,7 @@ db_dir_size(const char *path)
39
39
int64 dirsize = 0 ;
40
40
struct dirent * direntry ;
41
41
DIR * dirdesc ;
42
- char filename [MAXPGPATH ];
42
+ char filename [MAXPGPATH * 2 ];
43
43
44
44
dirdesc = AllocateDir (path );
45
45
@@ -56,7 +56,7 @@ db_dir_size(const char *path)
56
56
strcmp (direntry -> d_name ,".." )== 0 )
57
57
continue ;
58
58
59
- snprintf (filename ,MAXPGPATH ,"%s/%s" ,path ,direntry -> d_name );
59
+ snprintf (filename ,sizeof ( filename ) ,"%s/%s" ,path ,direntry -> d_name );
60
60
61
61
if (stat (filename ,& fst )< 0 )
62
62
{
@@ -84,7 +84,7 @@ calculate_database_size(Oid dbOid)
84
84
DIR * dirdesc ;
85
85
struct dirent * direntry ;
86
86
char dirpath [MAXPGPATH ];
87
- char pathname [MAXPGPATH ];
87
+ char pathname [MAXPGPATH + 12 + sizeof ( TABLESPACE_VERSION_DIRECTORY ) ];
88
88
AclResult aclresult ;
89
89
90
90
/* User must have connect privilege for target database */
@@ -96,7 +96,7 @@ calculate_database_size(Oid dbOid)
96
96
/* Shared storage in pg_global is not counted */
97
97
98
98
/* Include pg_default storage */
99
- snprintf (pathname ,MAXPGPATH ,"base/%u" ,dbOid );
99
+ snprintf (pathname ,sizeof ( pathname ) ,"base/%u" ,dbOid );
100
100
totalsize = db_dir_size (pathname );
101
101
102
102
/* Scan the non-default tablespaces */
@@ -116,7 +116,7 @@ calculate_database_size(Oid dbOid)
116
116
strcmp (direntry -> d_name ,".." )== 0 )
117
117
continue ;
118
118
119
- snprintf (pathname ,MAXPGPATH ,"pg_tblspc/%s/%s/%u" ,
119
+ snprintf (pathname ,sizeof ( pathname ) ,"pg_tblspc/%s/%s/%u" ,
120
120
direntry -> d_name ,TABLESPACE_VERSION_DIRECTORY ,dbOid );
121
121
totalsize += db_dir_size (pathname );
122
122
}
@@ -164,7 +164,7 @@ static int64
164
164
calculate_tablespace_size (Oid tblspcOid )
165
165
{
166
166
char tblspcPath [MAXPGPATH ];
167
- char pathname [MAXPGPATH ];
167
+ char pathname [MAXPGPATH * 2 ];
168
168
int64 totalsize = 0 ;
169
169
DIR * dirdesc ;
170
170
struct dirent * direntry ;
@@ -206,7 +206,7 @@ calculate_tablespace_size(Oid tblspcOid)
206
206
strcmp (direntry -> d_name ,".." )== 0 )
207
207
continue ;
208
208
209
- snprintf (pathname ,MAXPGPATH ,"%s/%s" ,tblspcPath ,direntry -> d_name );
209
+ snprintf (pathname ,sizeof ( pathname ) ,"%s/%s" ,tblspcPath ,direntry -> d_name );
210
210
211
211
if (stat (pathname ,& fst )< 0 )
212
212
{