Re: [patch] some PQExpBuffer are not destroyed in pg_dump

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
Cc: "Zhang, Jie" <zhangjie2@cn.fujitsu.com>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2020-04-14T01:11:56Z
Lists: pgsql-hackers
On Mon, Apr 13, 2020 at 04:51:06PM +0900, Masahiko Sawada wrote:
> On Tue, 7 Apr 2020 at 11:42, Zhang, Jie <zhangjie2@cn.fujitsu.com> wrote:
>> In getDefaultACLs function, some PQExpBuffer are not destroy
> 
> Yes, it looks like an oversight. It's related to the commit
> e2090d9d20d809 which is back-patched to 9.6.
> 
> The patch looks good to me.

Indeed.  Any code path of pg_dump calling buildACLQueries() clears up
things, and I think that it is a better practice to clean up properly
PQExpBuffer stuff even if there is always the argument that pg_dump
is a tool running in a "short"-term context.  So I will backpatch that
unless there are any objections from others.

The part I am actually rather amazed of here is that I don't recall
seeing Coverity complaining about leaks after this commit.  Perhaps it
just got lost.
--
Michael

Commits

  1. Fix minor memory leak in pg_dump

  2. pg_dump: Fix handling of ALTER DEFAULT PRIVILEGES