diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2022-11-12 20:31:27 +0100 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2022-11-12 20:34:44 +0100 |
commit | b4b7ce8061d34cea2b4915c41403b2a74d5fde0e (patch) | |
tree | 127e3012c81c377513fc234f0b8af27f16cf0c31 /src/backend/libpq/be-fsstubs.c | |
parent | 30d98e14a88930c6d9658525fd5e6722e70a02e6 (diff) | |
download | postgresql-b4b7ce8061d34cea2b4915c41403b2a74d5fde0e.tar.gz postgresql-b4b7ce8061d34cea2b4915c41403b2a74d5fde0e.zip |
Add repalloc0 and repalloc0_array
These zero out the space added by repalloc. This is a common pattern
that is quite hairy to code by hand.
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://www.postgresql.org/message-id/b66dfc89-9365-cb57-4e1f-b7d31813eeec@enterprisedb.com
Diffstat (limited to 'src/backend/libpq/be-fsstubs.c')
-rw-r--r-- | src/backend/libpq/be-fsstubs.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/backend/libpq/be-fsstubs.c b/src/backend/libpq/be-fsstubs.c index 3e5cada7eb5..106fdcdf817 100644 --- a/src/backend/libpq/be-fsstubs.c +++ b/src/backend/libpq/be-fsstubs.c @@ -696,19 +696,16 @@ newLOfd(void) newsize = 64; cookies = (LargeObjectDesc **) MemoryContextAllocZero(fscxt, newsize * sizeof(LargeObjectDesc *)); - cookies_size = newsize; } else { /* Double size of array */ i = cookies_size; newsize = cookies_size * 2; - cookies = (LargeObjectDesc **) - repalloc(cookies, newsize * sizeof(LargeObjectDesc *)); - MemSet(cookies + cookies_size, 0, - (newsize - cookies_size) * sizeof(LargeObjectDesc *)); - cookies_size = newsize; + cookies = + repalloc0_array(cookies, LargeObjectDesc *, cookies_size, newsize); } + cookies_size = newsize; return i; } |