Avoid fetching past the end of the indoption array.

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

Commit: 80a96e066eecb6bd1788964b5911a405d932a784
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2019-04-07T22:19:16Z
Releases: 12.0
Avoid fetching past the end of the indoption array.

pg_get_indexdef_worker carelessly fetched indoption entries even for
non-key index columns that don't have one.  99.999% of the time this
would be harmless, since the code wouldn't examine the value ... but
some fine day this will be a fetch off the end of memory, resulting
in SIGSEGV.

Detected through valgrind testing.  Odd that the buildfarm's valgrind
critters haven't noticed.

Files

PathChange+/−
src/backend/utils/adt/ruleutils.c modified +2 −3