Thread

  1. Re: Avoid leaking system path from pg_available_extensions

    Matheus Alcantara <matheusssilv97@gmail.com> — 2026-05-26T13:29:58Z

    On 26/05/26 04:14, Chao Li wrote:
    > 
    > 
    >> On May 22, 2026, at 23:40, Matheus Alcantara <matheusssilv97@gmail.com> wrote:
    >>
    >> On 22/05/26 04:25, Jim Jones wrote:
    >>> On 21/05/2026 17:12, Matheus Alcantara wrote:
    >>>> I've reproduced the issue and the fix looks correct to me.
    >>> same here, +1
    >>
    >> Thank you for also testing.
    >>
    >>> I was wondering if creating a constant for it would be, stylistically
    >>> speaking, a cleaner solution. For instance:
    >>> #define EXTENSION_SYSTEM_MACRO  "$system"
    >>> I realize that it's used only inside get_extension_control_directories()
    >>> but since it is even mentioned in the docs, I guess it wouldn't be a bad
    >>> idea.
    >>
    >> I'm not against it but I don't think that it's necessary since as you mention, only get_extension_control_directories() use.
    >>
    > 
    > In theory, I’m not against the idea either. In practice, there are many hard-coded strings in the source tree, and I’m not sure where the right place would be to define this macro.
    > 
    > Since this string is only used in get_extension_control_directories(), and now it is used three times, I defined it at the beginning of the function and undefined it at the end. Let’s see if there are any objections to that.
    > 
    > Please see the attached v2.
    > 
    
    We have such pattern in other parts of the codebase (e.g 
    pg_resetwal.c), so it works for me.
    
    Thanks for the patch.
    
    --
    Matheus Alcantara
    EDB: https://www.enterprisedb.com