Avoid useless allocations for information of dumpable objects in pg_dump/

Michael Paquier <michael@paquier.xyz>

Commit: ac673a1aaff197f3e01f7bac69da0dd700854e13
Author: Michael Paquier <michael@paquier.xyz>
Date: 2020-09-14T01:44:23Z
Releases: 14.0
Avoid useless allocations for information of dumpable objects in pg_dump/

If there are no objects of a certain type, there is no need to do an
allocation for a set of DumpableObject items.  The previous coding did
an allocation of 1 byte instead as per the fallback of pg_malloc() in
the event of an allocation size of zero.  This assigns NULL instead for
a set of dumpable objects.

A similar rule already applied to findObjectByOid(), so this makes the
code more defensive as we would just fail with a pointer dereference
instead of attempting to use some incorrect data if a non-existing,
positive, OID is given by a caller of this function.

Author: Daniel Gustafsson
Reviewed-by: Julien Rouhaud, Ranier Vilela
Discussion: https://postgr.es/m/26C43E58-BDD0-4F1A-97CC-4A07B52E32C5@yesql.se

Files

PathChange+/−
src/bin/pg_dump/common.c modified +3 −0

Discussion