Re: pgsql: pg_logicalinspect: Fix possible crash when passing a directory p - Mailing list pgsql-committers

From Tom Lane
Subject Re: pgsql: pg_logicalinspect: Fix possible crash when passing a directory p
Date
Msg-id 1896564.1741756689@sss.pgh.pa.us
Whole thread Raw
In response to Re: pgsql: pg_logicalinspect: Fix possible crash when passing a directory p  (Masahiko Sawada <sawada.mshk@gmail.com>)
Responses Re: pgsql: pg_logicalinspect: Fix possible crash when passing a directory p
Re: pgsql: pg_logicalinspect: Fix possible crash when passing a directory p
List pgsql-committers
Masahiko Sawada <sawada.mshk@gmail.com> writes:
> On Tue, Mar 11, 2025 at 7:08 PM David Rowley <dgrowleyml@gmail.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



pgsql-committers by date:

Previous
From: Masahiko Sawada
Date:
Subject: Re: pgsql: pg_logicalinspect: Fix possible crash when passing a directory p
Next
From: David Rowley
Date:
Subject: Re: pgsql: pg_logicalinspect: Fix possible crash when passing a directory p