Thread
Commits
-
pg_dump: Use pg_malloc_object() and pg_malloc_array()
- 6736dea14afb 19 (unreleased) landed
-
use the malloc macros in pg_dump.c
Peter Smith <smithpb2250@gmail.com> — 2026-02-02T07:04:01Z
Hi. I found that pg_dump.c has many pg_mallocs where the new object/array macros could have been used, but currently they are not. I'm not sure if this was a deliberate or accidental omission. In case it was accidental, here is a patch to modify/simplify all that allocation code. PSA v1. ====== Kind Regards, Peter Smith. Fujitsu Australia
-
Re: use the malloc macros in pg_dump.c
Aleksander Alekseev <aleksander@tigerdata.com> — 2026-02-02T12:38:04Z
Hi Peter, > I found that pg_dump.c has many pg_mallocs where the new object/array > macros could have been used, but currently they are not. I'm not sure > if this was a deliberate or accidental omission. > > In case it was accidental, here is a patch to modify/simplify all that > allocation code. Thanks for the patch. I reviewed / tested it and it looks OK. This being said, I see many pieces of code left that still use pg_malloc / pg_realloc in a similar fashion, including src/bin/pg_dump/* files. Would you like to address those as well, or keep the scope only to pg_dump.c? -- Best regards, Aleksander Alekseev
-
Re: use the malloc macros in pg_dump.c
Peter Smith <smithpb2250@gmail.com> — 2026-02-02T21:19:47Z
On Mon, Feb 2, 2026 at 11:38 PM Aleksander Alekseev <aleksander@tigerdata.com> wrote: > > Hi Peter, > > > I found that pg_dump.c has many pg_mallocs where the new object/array > > macros could have been used, but currently they are not. I'm not sure > > if this was a deliberate or accidental omission. > > > > In case it was accidental, here is a patch to modify/simplify all that > > allocation code. > > Thanks for the patch. I reviewed / tested it and it looks OK. This > being said, I see many pieces of code left that still use pg_malloc / > pg_realloc in a similar fashion, including src/bin/pg_dump/* files. > Would you like to address those as well, or keep the scope only to > pg_dump.c? > Hi Aleksander. Thanks for your review! At first I only changed only one file because I was unsure why these changes were not already made, and whether others thought it was worthwhile. Now you have encouraged me that the patch makes sense, so I will increase the scope to cover all the other pg_dump/* files. Will post more later. ====== Kind Regards, Peter Smith. Fujitsu Australia
-
Re: use the malloc macros in pg_dump.c
Peter Smith <smithpb2250@gmail.com> — 2026-02-03T02:29:12Z
PSA v2 with more of the same kind of malloc changes. Scope: This addresses all those I could find in the src/bin/pg_dump/* folder. Note, there were a few examples of simple char * buffer mallocs I that did not change, because it did not seem useful to do so. ====== Kind Regards, Peter Smith. Fujitsu Australia
-
Re: use the malloc macros in pg_dump.c
Peter Smith <smithpb2250@gmail.com> — 2026-02-13T07:06:26Z
Hi. PSA v3. A rebase was needed. At the same time, I combined all previous patches. ====== Kind Regards, Peter Smith. Fujitsu Australia
-
Re: use the malloc macros in pg_dump.c
Michael Paquier <michael@paquier.xyz> — 2026-02-13T08:22:38Z
On Fri, Feb 13, 2026 at 06:06:26PM +1100, Peter Smith wrote: > At the same time, I combined all previous patches. That's a practice better than sending a handful bag of patches that each touch one single file. :) Seems globally clean to me, except for two changes. - zp = gzipcs->zp = (z_streamp) pg_malloc(sizeof(z_stream)); + zp = gzipcs->zp = (z_streamp) pg_malloc_object(z_stream); [...] - zp = (z_streamp) pg_malloc(sizeof(z_stream)); + zp = (z_streamp) pg_malloc_object(z_stream); These two defeat the purpose of the change. _object is useful because we can enforce type checks based on their size. Note that We have this declaration in zlib: zlib.h:typedef z_stream FAR *z_streamp; So we should be OK with dropping the casts entirely, with I guess compilers not warning if types do not match as an effect of this typedef declaration. I have removed these, and things seem OK here, now to say if the buildfarm is entirely OK will be a different thing. I'll see about that if/once required. -- Michael
-
Re: use the malloc macros in pg_dump.c
Peter Smith <smithpb2250@gmail.com> — 2026-02-15T22:21:55Z
Thanks for pushing! ====== Kind Regards, Peter Smith. Fujitsu Australia