Thread
Commits
-
Fix small memory leak in psql's \bind command
- 8bf5af2ee6ea 16.0 landed
-
psql memory leaks
Kyotaro Horiguchi <horikyota.ntt@gmail.com> — 2023-02-21T02:55:55Z
I noticed that \bind is leaking memory for each option. =# SELECT $1, $2, $3 \ bind 1 2 3 \g The leaked memory blocks are comming from psql_scan_slash_option(). The attached small patch resolves that issue. I looked through the function's call sites, but I didn't find the same mistake. regards. -- Kyotaro Horiguchi NTT Open Source Software Center
-
Re: psql memory leaks
Corey Huinker <corey.huinker@gmail.com> — 2023-02-21T19:03:43Z
On Mon, Feb 20, 2023 at 9:56 PM Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote: > I noticed that \bind is leaking memory for each option. > > =# SELECT $1, $2, $3 \ bind 1 2 3 \g > > The leaked memory blocks are comming from > psql_scan_slash_option(). The attached small patch resolves that > issue. I looked through the function's call sites, but I didn't find > the same mistake. > > regards. > > Good catch. Patch passes make check-world.
-
Re: psql memory leaks
Michael Paquier <michael@paquier.xyz> — 2023-02-22T05:32:50Z
On Tue, Feb 21, 2023 at 02:03:43PM -0500, Corey Huinker wrote: > Good catch. Patch passes make check-world. Indeed. I was reviewing the whole and there could be a point in resetting bind_nparams at the end of SendQuery() to keep a correct track of what's saved in the pset data for the bind parameters, but not doing so is not a big deal either because we'd just reset it once the full allocation of the parameters is done and bind_flag is all about that. The code paths leading to the free seem correct, seen from here. -- Michael