mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-27 22:41:57 +02:00
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
This commit is contained in:
parent
19f5a37b9f
commit
ac673a1aaf
@ -719,6 +719,9 @@ buildIndexArray(void *objArray, int numObjs, Size objSize)
|
||||
DumpableObject **ptrs;
|
||||
int i;
|
||||
|
||||
if (numObjs <= 0)
|
||||
return NULL;
|
||||
|
||||
ptrs = (DumpableObject **) pg_malloc(numObjs * sizeof(DumpableObject *));
|
||||
for (i = 0; i < numObjs; i++)
|
||||
ptrs[i] = (DumpableObject *) ((char *) objArray + i * objSize);
|
||||
|
Loading…
Reference in New Issue
Block a user