Re: Consistently use palloc_object() and palloc_array()

From: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
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 22:41:25
Message-ID: CA+hUKGLngd9cKHtTUuUdEo2eWEgUcZ_EQRbP55MigV2t_zTReg@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2025-12-09 22:58:00 Re: Solaris versus our NLS files
Previous Message Peter Geoghegan 2025-12-09 22:38:10 Re: Trying out read streams in pgvector (an extension)