postgresql/src
Tom Lane 4984784f83 Fix crash in json{b}_populate_recordset() and json{b}_to_recordset().
As of commit 37a795a60, populate_recordset_worker() tried to pass back
(as rsi.setDesc) a tupdesc that it also had cached in its fn_extra.
But the core executor would free the passed-back tupdesc, risking a
crash if the function were called again in the same query.  The safest
and least invasive way to fix that is to make an extra tupdesc copy
to pass back.

While at it, I failed to resist the temptation to get rid of unnecessary
get_fn_expr_argtype() calls here and in populate_record_worker().

Per report from Dmitry Dolgov; thanks to Michael Paquier and
Andrew Gierth for investigation and discussion.

Discussion: https://postgr.es/m/CA+q6zcWzN9ztCfR47ZwgTr1KLnuO6BAY6FurxXhovP4hxr+yOQ@mail.gmail.com
2018-07-13 14:16:54 -04:00
..
backend Fix crash in json{b}_populate_recordset() and json{b}_to_recordset(). 2018-07-13 14:16:54 -04:00
bin Dump foreign keys on partitioned tables 2018-07-13 13:13:26 -04:00
common Fix more wrong paths in header comments 2018-07-11 17:57:04 +03:00
fe_utils Post-feature-freeze pgindent run. 2018-04-26 14:47:16 -04:00
include Fix argument of pg_create_logical_replication_slot for slot name 2018-07-13 09:32:12 +09:00
interfaces Fix more wrong paths in header comments 2018-07-11 17:57:04 +03:00
makefiles Remove Windows module-list-dumping code. 2018-04-30 13:20:13 -04:00
pl Prohibit transaction commands in security definer procedures 2018-07-13 10:41:32 +02:00
port Rethink how to get float.h in old Windows API for isnan/isinf 2018-07-11 09:11:48 -04:00
template Force "restrict" not to be used when compiling with xlc. 2017-10-13 12:15:06 -07:00
test Fix crash in json{b}_populate_recordset() and json{b}_to_recordset(). 2018-07-13 14:16:54 -04:00
timezone Update time zone data files to tzdata release 2018e. 2018-05-09 13:56:22 -04:00
tools Remove obsolete documentation build tools for Windows 2018-07-13 10:01:04 +02:00
tutorial Update copyright for 2018 2018-01-02 23:30:12 -05:00
.gitignore
DEVELOPERS
Makefile Fix partial-build problems introduced by having more generated headers. 2018-04-09 16:42:10 -04:00
Makefile.global.in Un-break contrib install with llvm. 2018-04-28 14:45:39 -04:00
Makefile.shlib Prevent accidental linking of system-supplied copies of libpq.so etc. 2018-04-03 16:26:05 -04:00
nls-global.mk nls-global.mk: search build dir for source files, too 2016-06-07 18:55:18 -04:00