Fix memory leak.
authorTatsuo Ishii <ishii@postgresql.org>
Fri, 15 Jun 2018 07:32:59 +0000 (16:32 +0900)
committerTatsuo Ishii <ishii@postgresql.org>
Fri, 15 Jun 2018 07:32:59 +0000 (16:32 +0900)
Memory is allocated twice for "file" and "files" variables in
BufFileOpenShared().

Author: Antonin Houska
Discussion: https://postgr.es/m/11329.1529045692%40localhost

src/backend/storage/file/buffile.c

index d8a18dd3dcb3f2127c55654265c7082403eae9c5..00f61748b347bae9578ee77bd62deaa88e23ddc6 100644 (file)
@@ -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));