Re: Consistently use palloc_object() and palloc_array()

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Cc: David Geier <geidav(dot)pg(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Consistently use palloc_object() and palloc_array()
Date: 2025-12-09 23:00:29
Message-ID: aTiqDV9wxbCfox1p@paquier.xyz
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Dec 10, 2025 at 11:41:25AM +1300, Thomas Munro wrote:
> On Wed, Dec 10, 2025 at 11:38 AM Michael Paquier <michael(at)paquier(dot)xyz> wrote:
>> b_checkargnulls =
>> - palloc(sizeof(LLVMBasicBlockRef *) * op->d.func.nargs);
>> + palloc_array(LLVMBasicBlockRef *, op->d.func.nargs);
>>
>> This one in llvmjit_expr.c was causing a compilation failure. I am
>> not exactly sure why, but discarded for now. I got a reproduction
>> locally as well as in the CI.
>
> I think the original code is wrong, it should have been
> sizeof(LLVMBasicBlockRef)? It'll be the same size anyway (these
> LLVM*Ref types are just pointers), but that'd explain why the
> transformation didn't compile.

Yes, perhaps, I would need to double-check to be sure, and you make it
sound like this one should be back-patched. I was planning to get
back to this one with the batch of non-trivial changes that Bryan has
posted now that I've cleared the path for the stright-forward ones.
--
Michael

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message David Rowley 2025-12-09 23:02:21 Re: Fix incorrect comments in tuplesort.c
Previous Message Thomas Munro 2025-12-09 22:58:00 Re: Solaris versus our NLS files