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: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
Cc: David Rowley <dgrowleyml(at)gmail(dot)com>, pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: pg_logicalinspect: Fix possible crash when passing a directory p
Date: 2025-03-12 05:18:09
Message-ID: 1896564.1741756689@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> writes:
> On Tue, Mar 11, 2025 at 7:08 PM David Rowley <dgrowleyml(at)gmail(dot)com> wrote:
>> This introduces a new compiler warning for compilers that don't know
>> the ereport(ERROR) does not return.

> Thank you for the report. Can we generate the warning using some gcc's
> warning flags? I'd like to add a check to my personal pre-commit test.

I don't know of an easy way. I experimented with doing this:

diff --git a/src/include/c.h b/src/include/c.h
index a14c6315162..467b1f58ae8 100644
--- a/src/include/c.h
+++ b/src/include/c.h
@@ -315,7 +315,7 @@
#elif defined(_MSC_VER) && !defined(USE_ASSERT_CHECKING)
#define pg_unreachable() __assume(0)
#else
-#define pg_unreachable() abort()
+#define pg_unreachable() ((void) 0)
#endif

/*

which seems like it ought to be enough to provoke such warnings
(in assert-enabled builds). I got upwards of sixty build warnings
this way, but the place David mentions was *not* among them.
So I'm confused.

regards, tom lane

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message David Rowley 2025-03-12 06:38:50 Re: pgsql: pg_logicalinspect: Fix possible crash when passing a directory p
Previous Message Masahiko Sawada 2025-03-12 04:56:14 Re: pgsql: pg_logicalinspect: Fix possible crash when passing a directory p