>>>>> "PG" == PG Bug reporting form <noreply@postgresql.org> writes:
PG> Bug reference: 15599
PG> Logged by: Alexander Lakhin
PG> Email address: exclusion@gmail.com
PG> PostgreSQL version: 11.1
PG> Operating system: Ubuntu 18.04
PG> Description:
PG> The PostgreSQL server crashes with the following query (excerpt
PG> from regression test, run it after `make check`):
Not a bug.
PG> CREATE FUNCTION overpaid(emp)
PG> RETURNS hobbies_r
PG> AS '/src/postgres/src/test/regress/regress.so'
PG> LANGUAGE C STRICT;
"overpaid" in regress.so returns a boolean scalar, not a row of any
kind. It is the responsibility of the person issuing CREATE FUNCTION for
a C-language function to get the types right; if they are wrong, it can
(as you observed) crash the server, which is why this action is
restricted to database superusers.
--
Andrew (irc:RhodiumToad)