Avoid possible memory leak (src/common/rmtree.c)

Started by Ranier Vilelaover 2 years ago5 messageshackers
Jump to latest
#1Ranier Vilela
ranier.vf@gmail.com

Hi,

Per Coverity.

rmtree function can leak 64 bytes per call,
when it can't open a directory.

patch attached.

best regards,
Ranier Vilela

Attachments:

0003-Avoid-possible-memory-leak-64-bytes-per-rmtree-call-.patchapplication/octet-stream; name=0003-Avoid-possible-memory-leak-64-bytes-per-rmtree-call-.patchDownload+2-2
#2Daniel Gustafsson
daniel@yesql.se
In reply to: Ranier Vilela (#1)
Re: Avoid possible memory leak (src/common/rmtree.c)

On 25 Jul 2023, at 16:31, Ranier Vilela <ranier.vf@gmail.com> wrote:

rmtree function can leak 64 bytes per call,
when it can't open a directory.

Skimming the tree there doesn't seem to be any callers which aren't exiting or
ereporting on failure so the real-world impact seems low. That being said,
silencing static analyzers could be reason enough to delay allocation.

--
Daniel Gustafsson

#3Michael Paquier
michael@paquier.xyz
In reply to: Daniel Gustafsson (#2)
Re: Avoid possible memory leak (src/common/rmtree.c)

On Tue, Jul 25, 2023 at 04:45:22PM +0200, Daniel Gustafsson wrote:

Skimming the tree there doesn't seem to be any callers which aren't exiting or
ereporting on failure so the real-world impact seems low. That being said,
silencing static analyzers could be reason enough to delay allocation.

A different reason would be out-of-core code that uses rmtree() in a
memory context where the leak would be an issue if facing a failure
continuously? Delaying the allocation after the OPENDIR() seems like
a good practice anyway.
--
Michael

#4Ranier Vilela
ranier.vf@gmail.com
In reply to: Michael Paquier (#3)
Re: Avoid possible memory leak (src/common/rmtree.c)

Em sex, 28 de jul de 2023 11:54 PM, Michael Paquier <michael@paquier.xyz>
escreveu:

On Tue, Jul 25, 2023 at 04:45:22PM +0200, Daniel Gustafsson wrote:

Skimming the tree there doesn't seem to be any callers which aren't

exiting or

ereporting on failure so the real-world impact seems low. That being

said,

silencing static analyzers could be reason enough to delay allocation.

A different reason would be out-of-core code that uses rmtree() in a
memory context where the leak would be an issue if facing a failure
continuously? Delaying the allocation after the OPENDIR() seems like
a good practice anyway.

Thanks for the commit, Michael.

best regards,
Ranier Vilela

#5Michael Paquier
michael@paquier.xyz
In reply to: Ranier Vilela (#4)
Re: Avoid possible memory leak (src/common/rmtree.c)

On Mon, Jul 31, 2023 at 08:10:55PM -0300, Ranier Vilela wrote:

Thanks for the commit, Michael.

Sorry for the lack of update here. For the sake of the archives, this
is f1e9f6b.
--
Michael