> Memory is allocated twice for "file" and "files" variables. Possible fix: > > diff --git a/src/backend/storage/file/buffile.c > b/src/backend/storage/file/buffile.c > index d8a18dd3dc..00f61748b3 100644 > --- a/src/backend/storage/file/buffile.c > +++ b/src/backend/storage/file/buffile.c > @@ -277,10 +277,10 @@ BufFileCreateShared(SharedFileSet *fileset, const char > *name) > BufFile * > BufFileOpenShared(SharedFileSet *fileset, const char *name) > { > - BufFile *file = (BufFile *) palloc(sizeof(BufFile)); > + BufFile *file; > char segment_name[MAXPGPATH]; > Size capacity = 16; > - File *files = palloc(sizeof(File) * capacity); > + File *files; > int nfiles = 0; > > file = (BufFile *) palloc(sizeof(BufFile));
Good catch. Thanks. Best regards, -- Tatsuo Ishii SRA OSS, Inc. Japan English: http://www.sraoss.co.jp/index_en.php Japanese:http://www.sraoss.co.jp