Hi, On Tue, Mar 3, 2026 at 5:31 PM Chao Li <[email protected]> wrote: > > > > > On Dec 25, 2025, at 11:34, Chao Li <[email protected]> wrote: > > > > > > > >> On Dec 25, 2025, at 11:12, Chao Li <[email protected]> wrote: > >> > >> Hi Hackers, > >> > >> I noticed this error while working on [1]. > >> > >> In BufFile, the fields is claimed as an array: > >> ``` > >> struct BufFile > >> { > >> File *files; /* palloc'd array with numFiles entries */ > >> ``` > >> > >> However, it’s allocated by palloc_object(): > >> ``` > >> file->files = palloc_object(File); > >> ``` > >> > >> And reallocated by repalloc(): > >> ``` > >> file->files = (File *) repalloc(file->files, > >> (file->numFiles + 1) * sizeof(File)); > >> ``` > >> > >> This trivial patch just changes to use palloc_array/repalloc_array, which > >> makes the intent clearer. > >> > >> Best regards, > >> -- > >> Chao Li (Evan) > >> HighGo Software Co., Ltd. > >> https://www.highgo.com/ > >> > >> > >> > >> > >> <v1-0001-Use-palloc_array-repalloc_array-for-BufFile-file-.patch> > > > > > > Sorry for missing the reference of [1]: > > > > [1] https://postgr.es/m/[email protected] > > > > Best regards, > > -- > > Chao Li (Evan) > > HighGo Software Co., Ltd. > > https://www.highgo.com/ > > > > PFA v2: > * Rebased > * Updated the commit message
I've reviewed the v2 patch and here is a comment: - file->files = palloc_object(File); + file->files = palloc_array(File, 1); I'm not a fan of this change. This change looks like trying to distinguish allocated memory by palloc_object() and palloc_array() even though underlying memory is identical. I'm concerned about this change creating unnecessary coding conventions. Regards, -- Masahiko Sawada Amazon Web Services: https://aws.amazon.com
