Guard against null arguments in binary_upgrade_create_empty_extension().

Tom Lane <tgl@sss.pgh.pa.us>

Commit: ab1f08a3a4a855cb9245456866918706ca2fdf06
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2016-01-03T21:26:38Z
Releases: 9.5.0
Guard against null arguments in binary_upgrade_create_empty_extension().

The CHECK_IS_BINARY_UPGRADE macro is not sufficient security protection
if we're going to dereference pass-by-reference arguments before it.

But in any case we really need to explicitly check PG_ARGISNULL for all
the arguments of a non-strict function, not only the ones we expect null
values for.

Oversight in commits 30982be4e5019684e1772dd9170aaa53f5a8e894 and
f92fc4c95ddcc25978354a8248d3df22269201bc.  Found by Andreas Seltenreich.
(The other usages in pg_upgrade_support.c seem safe.)

Files

PathChange+/−
src/backend/utils/adt/pg_upgrade_support.c modified +16 −4