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