Re: minor leaks in pg_dump (PG tarball 10.6) - Mailing list pgsql-hackers

From Tom Lane
Subject Re: minor leaks in pg_dump (PG tarball 10.6)
Date
Msg-id 4087.1544026008@sss.pgh.pa.us
Whole thread Raw
In response to Re: minor leaks in pg_dump (PG tarball 10.6)  (Stephen Frost <sfrost@snowman.net>)
Responses Re: minor leaks in pg_dump (PG tarball 10.6)
List pgsql-hackers
Stephen Frost <sfrost@snowman.net> writes:
> * Pavel Raiskup (praiskup@redhat.com) wrote:
>> -            attrdefs = (AttrDefInfo *) pg_malloc(numDefaults * sizeof(AttrDefInfo));
>> ...
>> +                attrdefs = (AttrDefInfo *) pg_malloc(numDefaults * sizeof(AttrDefInfo));

> This change doesn't seem to make any sense to me..?  If anything, seems
> like we'd end up overallocating memory *after* this change, where we
> don't today (though an analyzer tool might complain because we don't
> free the memory from it and instead copy the pointer from each of these
> items into the tbinfo structure).

Yeah, Coverity is exceedingly not smart about the method pg_dump uses
(in lots of places, not just here) of allocating an array and then
entering pointers to individual array elements into its long-lived
data structures.  I concur that the proposed change is giving up a
lot of malloc overhead to silence an invalid complaint, and we
shouldn't do it.

The other two points seem probably valid, so I wonder why our own
Coverity runs haven't noticed them.

            regards, tom lane


pgsql-hackers by date:

Previous
From: Stephen Frost
Date:
Subject: Re: minor leaks in pg_dump (PG tarball 10.6)
Next
From: Alvaro Herrera
Date:
Subject: Re: psql display of foreign keys