Re: closing file in adjust_data_dir - Mailing list pgsql-hackers

From Japin Li
Subject Re: closing file in adjust_data_dir
Date
Msg-id MEYP282MB16691A83E67D045D48FFC52BB6079@MEYP282MB1669.AUSP282.PROD.OUTLOOK.COM
Whole thread Raw
In response to Re: closing file in adjust_data_dir  (Ted Yu <yuzhihong@gmail.com>)
Responses Re: closing file in adjust_data_dir
List pgsql-hackers
On Wed, 16 Nov 2022 at 10:06, Ted Yu <yuzhihong@gmail.com> wrote:
>> Hi,
> That check is a few line above:
>
> +       if (fd == NULL || fgets(filename, sizeof(filename), fd) == NULL)
>         {
>
> Cheers

Thanks for the explanation.  Comment on v2 patch.

     fd = popen(cmd, "r");
-    if (fd == NULL || fgets(filename, sizeof(filename), fd) == NULL || pclose(fd) != 0)
+    if (fd == NULL || fgets(filename, sizeof(filename), fd) == NULL)
     {
+        pclose(fd);
         write_stderr(_("%s: could not determine the data directory using command \"%s\"\n"), progname, cmd);
         exit(1);
     }

Here, segfault maybe occurs if fd is NULL.  I think we can remove pclose()
safely since the process will exit.

-- 
Regrads,
Japin Li.
ChengDu WenWu Information Technology Co.,Ltd.



pgsql-hackers by date:

Previous
From: Amit Langote
Date:
Subject: Re: List of Bitmapset (was Re: ExecRTCheckPerms() and many prunable partitions)
Next
From: Simon Riggs
Date:
Subject: Re: Slow standby snapshot