Re: pgsql: pg_logicalinspect: Fix possible crash when passing a directory p

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: David Rowley <dgrowleyml(at)gmail(dot)com>
Cc: Peter Eisentraut <peter(at)eisentraut(dot)org>, pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: pg_logicalinspect: Fix possible crash when passing a directory p
Date: 2025-07-17 04:20:30
Message-ID: 1337097.1752726030@sss.pgh.pa.us
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

David Rowley <dgrowleyml(at)gmail(dot)com> writes:
> On Thu, 17 Jul 2025 at 15:19, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Hmph. I doubt we are ready to require C11 everywhere, but maybe
>> we could require it in MSVC builds? Which MSVC versions would
>> that eliminate?

> Going by [1] it's Visual Studio 2019, which as of 8fd9bb1d9 is now our
> minimum supported VS version.

Hmm, so apparently no cost ... also, if I'm getting this right,
the only downside of compiling with an older compiler would be
seeing a lot of "possibly-uninitialized" warnings.

> I hacked up a quick patch (attached) which compiles without any
> warnings. Tested on VS2012 with meson setup -Dc_std=c11.

Personally I'd think about providing a definition of
__builtin_constant_p rather than changing elog.h; but we'd
end up at the same place.

> Unsure what other repercussions there are of compiling with C11 and
> have not looked into what it would take to adjust the meson build
> scripts to default to that for MSVC builds.

In theory there should be no repercussions, because we already
support compiling with C11: C99 is a minimum not a maximum.

But I've not checked the meson scripts either.

regards, tom lane

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2025-07-17 05:11:18 pgsql: Split regression tests for TOAST compression methods into two fi
Previous Message David Rowley 2025-07-17 04:09:18 Re: pgsql: pg_logicalinspect: Fix possible crash when passing a directory p