array_in() and array_recv() need to be more paranoid about validating
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 15 Aug 2005 19:40:20 +0000 (19:40 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 15 Aug 2005 19:40:20 +0000 (19:40 +0000)
commit866ffc2fe35f63b06fb6ed63ef1f531a741d920e
tree6bbad0cd2b6cb84f6c2a7112bb6562bd6f896e49
parente6a30121be93c7d66e704d0b449e124c0fdd0127
array_in() and array_recv() need to be more paranoid about validating
their OID parameter.  It was possible to crash the backend with
select array_in('{123}',0,0); because that would bypass the needed step
of initializing the workspace.  These seem to be the only two places
with a problem, though (record_in and record_recv don't have the issue,
and the other array functions aren't depending on user-supplied input).
Back-patch as far as 7.4; 7.3 does not have the bug.
src/backend/utils/adt/arrayfuncs.c