Re: Avoid resource leak (contrib/postgres_fdw/connection.c)
Fujii Masao <masao.fujii@gmail.com>
From: Fujii Masao <masao.fujii@gmail.com>
To: Ranier Vilela <ranier.vf@gmail.com>
Cc: Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2026-03-16T23:07:47Z
Lists: pgsql-hackers
On Mon, Mar 16, 2026 at 8:46 PM Ranier Vilela <ranier.vf@gmail.com> wrote: > > Hi. > > Per Coverity. > > CID 1645716: (#1 of 1): Resource leak (RESOURCE_LEAK) > 8. leaked_storage: Variable str going out of scope leaks the storage str.data points to. > > The function *postgres_fdw_connection* leaks the contents of > var str.data > Once that function *cstring_to_text* palloc the contents > must be necessary to free the var str.data. It seems that postgres_fdw_connection() is expected to be called by ForeignServerConnectionString() via OidFunctionCall3(), and to allocate memory (including str.data) in the FDWConnectionContext memory context created by ForeignServerConnectionString(). After calling postgres_fdw_connection(), ForeignServerConnectionString() deletes FDWConnectionContext. So it seems to me that any memory allocated in that context, including str.data, would not leak. No? Regards, -- Fujii Masao