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

From Ted Yu
Subject Re: closing file in adjust_data_dir
Date
Msg-id CALte62zszyrTh_PhVP6ytZUv7WBf+eRMPGD2SnjMkKzTL3u+xQ@mail.gmail.com
Whole thread Raw
In response to closing file in adjust_data_dir  (Ted Yu <yuzhihong@gmail.com>)
List pgsql-hackers


On Tue, Nov 15, 2022 at 10:43 AM Ted Yu <yuzhihong@gmail.com> wrote:
Hi,
I was looking at the commit:

commit 2fe3bdbd691a5d11626308e7d660440be6c210c8
Author: Peter Eisentraut <peter@eisentraut.org>
Date:   Tue Nov 15 15:35:37 2022 +0100

    Check return value of pclose() correctly

In src/bin/pg_ctl/pg_ctl.c :

    if (fd == NULL || fgets(filename, sizeof(filename), fd) == NULL || pclose(fd) != 0)

If the fgets() call doesn't return NULL, the pclose() would be skipped.
Since the original pclose() call was removed, wouldn't this lead to fd leaking ?

Please see attached patch for my proposal.

Cheers

There was potential leak of fd in patch v1.

Please take a look at patch v2.

Thanks 
Attachment

pgsql-hackers by date:

Previous
From: Greg Stark
Date:
Subject: Re: Add palloc_aligned() to allow arbitrary power of 2 memory alignment
Next
From: Tom Lane
Date:
Subject: Re: Slow standby snapshot